예제 #1
0
        private void HandleSearchMessage(Message message)
        {
            Message    messageResponse = new Message(MessageTypes.SearchResponse, NetNodeInfo.GetCurrentIP().ToString(), port);
            Socket     socketSetAdress = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            IPEndPoint endPoint        = new IPEndPoint(IPAddress.Parse(message.ipAddress), message.port);

            Console.WriteLine(messageResponse.ipAddress);
            socketSetAdress.SendTo(messageSerializer.Serialize(messageResponse), endPoint);
        }
예제 #2
0
        public void UdpBroadcastRequest()
        {
            Message message = new Message(MessageTypes.SearchRequest);

            message.port      = ((IPEndPoint)socketUdpHandler.LocalEndPoint).Port;
            message.ipAddress = NetNodeInfo.GetCurrentIP().ToString();
            IPEndPoint IPendPoint  = new IPEndPoint(IPAddress.Parse(broadcastIP), 8005);
            Socket     sendRequest = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            sendRequest.SendTo(messageSerializer.Serialize(message), IPendPoint);
            Thread threadReceiveUdp = new Thread(ReceiveMessagesUdp);

            threadReceiveUdp.Start();
        }
예제 #3
0
        public void StartServer()
        {
            IPEndPoint endPoint = new IPEndPoint(NetNodeInfo.GetCurrentIP(), port);

            server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            server.Bind(endPoint);
            server.Listen(MaxConnectionAmount);
            Thread handleUDP = new Thread(ListenUDPBroadcast);

            handleUDP.Start();
            while (true)
            {
                client = server.Accept();
                Connections.Add(id, client);
                var    connectionInfo = new ConnectionInfo(client, id++);
                Thread thread         = new Thread(new ParameterizedThreadStart(RecieveMessage));
                thread.Start(connectionInfo);
            }
        }