コード例 #1
0
        private void ListenForClientMessages(object connectedClient)
        {
            TcpClient client = connectedClient as TcpClient;
            TcpStream stream = new TcpStream(client.GetStream());

            while (true)
            {
                string chars = stream.Receive();
                MessageHandshakeSocket data = JsonConvert.DeserializeObject <MessageHandshakeSocket>(chars);
                Packet packet = null;

                if (data.ServiceId == default(Guid))
                {
                    packet = JsonConvert.DeserializeObject <Packet>(chars);
                }

                if (OnClientConnected != null && packet == null)
                {
                    MessageHandshakeSocket mhs = data as MessageHandshakeSocket;
                    mhs.Client = client;
                    OnClientConnected(mhs);
                }
                else if (OnMessageReceived != null)
                {
                    OnMessageReceived(packet);
                }
            }
        }
コード例 #2
0
        private void ReceiveMessages()
        {
            while (true)
            {
                string data = _stream.Receive();

                Handle(data);
            }
        }