Exemplo n.º 1
0
        public void OnDataReceived(object sender, DataReceivedEvent e)
        {
            Debug.Log("Got a message from a network client ");
            Debug.Log("what message ? " + e);
            Debug.Log("what message ? " + e.Data);

            var netMsg = PrimeNetMessage.Deserialize(e.Data);

            Debug.Log("message desrialized Body of message is {" + netMsg.MessageBody + "}");

            if (netMsg.NetMessage == EPrimeNetMessage.ClientDisconnected || netMsg.NetMessage == EPrimeNetMessage.ServerDisconnected)
            {
                Debug.Log("Disconnected");
                var id     = int.Parse(netMsg.MessageBody);
                var client = _clientList.Find(i => i.ClientNumber == id);
                client.DataReceived -= OnDataReceived;

                _clientList.Remove(client);

                if (netMsg.NetMessage == EPrimeNetMessage.ServerDisconnected)
                {
                    StartSocketClient(); // go back into  connecting to server
                }
            }

            PublishNetworkMessage(new NetworkMessageEvent(netMsg));
        }
 public PrimeNetMessage GetLastMessage()
 {
     return
         (PrimeNetMessage.Deserialize(_lastMessage.Data));
 }