public static void HandleSearchMessage(Message message) { Message UdpResponse = new Message(NodeInformation.GetCurrentIP().ToString(), port, MessageType.SearchResponse); Socket socketSendServerAdress = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse(message.IPAdress), message.Port); socketSendServerAdress.SendTo(messageSerializer.Serialize(UdpResponse), endPoint); }
public void UdpBroadcastRequest() { Message message = new Message(MessageType.SearchRequest); message.Port = ((IPEndPoint)socketUdpHandler.LocalEndPoint).Port; message.IPAdress = NodeInformation.GetCurrentIP().ToString(); Socket sendRequest = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); sendRequest.EnableBroadcast = true; sendRequest.SendTo(messageSerializer.Serialize(message), new IPEndPoint(IPAddress.Broadcast, ServerPort)); Thread threadReceiveUdp = new Thread(ReceiveMessagesUdp); threads.Add(threadReceiveUdp); threadReceiveUdp.Start(); }
public static void ListenTcp() { Socket socketListener; IPEndPoint endPoint = new IPEndPoint(NodeInformation.GetCurrentIP(), port); socketListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socketListener.Bind(endPoint); socketListener.Listen(MaxUsersAmount); Console.WriteLine("The server maintains TCP"); while (true) { Socket socketClientHandler = socketListener.Accept(); ConnectionHandler connection = new ConnectionHandler(socketClientHandler); } }