예제 #1
0
        public override void OnReceive(TransportEventData eventData)
        {
            switch (eventData.type)
            {
            case NetworkEvent.ConnectEvent:
                Log.Info(this, "Client::OnPeerConnected");
                TriggerClientConnected(eventData.connectionId);
                break;

            case NetworkEvent.DataEvent:
                ReadPacket(eventData.connectionId, eventData.reader);
                break;

            case NetworkEvent.DisconnectEvent:
                Log.Info(this, "Client::OnPeerDisconnected peer. disconnectInfo.Reason: " + eventData.disconnectInfo.Reason);
                Close();
                TriggerClientDisconnected(eventData.disconnectInfo);
                break;

            case NetworkEvent.ErrorEvent:
                Log.Error(this, "Client::OnNetworkError endPoint: " + eventData.endPoint + " socketErrorCode " + eventData.socketError);
                TriggerNetworkError(eventData.endPoint, eventData.socketError);
                break;
            }
        }
예제 #2
0
 public bool Receive(out TransportEventData eventData)
 {
     eventData = default;
     if (netManager == null)
     {
         return(false);
     }
     netManager.PollEvents();
     return(eventQueue.TryDequeue(out eventData));
 }
예제 #3
0
 public abstract void OnReceive(TransportEventData eventData);