Additional information about disconnection
Exemple #1
0
 /// <summary>
 /// Called when a a peer gets disconnected from us.
 /// </summary>
 private void OnPeerDisconnected(LiteNetLib.NetPeer peer, LiteNetLib.DisconnectInfo info)
 {
     if (peer == ArbiterPeer)
     {
         Console.Error.WriteLine(">>> Lost connection to arbiter! <<<");
     }
 }
        public void OnPeerDisconnected(NetPeer peer, LiteNetLib.DisconnectInfo disconnectInfo)
        {
            Debug.Log("OnPeerDisconnected:" + peer.EndPoint);
            if (peersDict != null)
            {
                peersDict.Remove(peer.Id);
            }

            eventQueue.Enqueue(new TransportEventData()
            {
                type           = ENetworkEvent.DisconnectEvent,
                connectionId   = peer.Id,
                disconnectInfo = new EDisconnectInfo((EDisconnectReason)((int)disconnectInfo.Reason), disconnectInfo.SocketErrorCode),
            });
        }
Exemple #3
0
 void INetEventListener.OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo)
 {
     PeerDisconnectedEvent?.Invoke(peer, disconnectInfo);
 }
Exemple #4
0
        private void ProcessEvent(NetEvent evt)
        {
            NetUtils.DebugWrite("[NM] Processing event: " + evt.Type);
            switch (evt.Type)
            {
            case NetEventType.Connect:
                _netEventListener.OnUserJoined(evt.Peer);
                break;

            case NetEventType.Disconnect:
                var info = new DisconnectInfo
                {
                    Reason          = evt.DisconnectReason,
                    AdditionalData  = evt.DataReader,
                    SocketErrorCode = evt.AdditionalData
                };
                _netEventListener.OnUserLeft(evt.Peer, info);
                break;

            case NetEventType.Receive:
                _netEventListener.OnGotMessage(evt.Peer, evt.DataReader, evt.DeliveryMethod);
                break;

            case NetEventType.ReceiveUnconnected:
                _netEventListener.OnNetworkReceiveUnconnected(evt.RemoteEndPoint, evt.DataReader, UnconnectedMessageType.BasicMessage);
                break;

            case NetEventType.DiscoveryRequest:
                _netEventListener.OnNetworkReceiveUnconnected(evt.RemoteEndPoint, evt.DataReader, UnconnectedMessageType.DiscoveryRequest);
                break;

            case NetEventType.DiscoveryResponse:
                _netEventListener.OnNetworkReceiveUnconnected(evt.RemoteEndPoint, evt.DataReader, UnconnectedMessageType.DiscoveryResponse);
                break;

            case NetEventType.Error:
                _netEventListener.OnNetworkError(evt.RemoteEndPoint, evt.AdditionalData);
                break;

            case NetEventType.ConnectionLatencyUpdated:
                _netEventListener.OnNetworkLatencyUpdate(evt.Peer, evt.AdditionalData);
                break;

            case NetEventType.ConnectionRequest:
                _netEventListener.OnConnectionRequest(evt.ConnectionRequest);
                break;

                //case NetEventType.CreateRoom:
                //    _netEventListener.OnUserCreateRoom(evt.ConnectionRequest);
                //    break;
                //case NetEventType.DeleteRoom:
                //    _netEventListener.OnDeleteRoom(evt.C);
                //    break;
                //case NetEventType.UserJoinToRoom:
                //    _netEventListener.OnUserJoinToRoom(evt.C);
                //    break;
            }

            //Recycle
            evt.DataReader.Clear();
            evt.Peer              = null;
            evt.AdditionalData    = 0;
            evt.RemoteEndPoint    = null;
            evt.ConnectionRequest = null;

            lock (_netEventsPool)
                _netEventsPool.Push(evt);
        }
 protected override void OnDisconnect(bool ByUser, LiteNetLib.DisconnectInfo disconnectInfo)
 {
     Debug.Log("Disconnected");
     CloseAllScreens();
     OpenScreen(0);
 }
 void INetEventListener.OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo)
 {
     if (PeerDisconnectedEvent != null)
         PeerDisconnectedEvent(peer, disconnectInfo);
 }
Exemple #7
0
        private void ProcessEvent(NetEvent evt)
        {
            switch (evt.Type)
            {
            case NetEventType.Connect:
                _netEventListener.OnPeerConnected(evt.Peer);
                break;

            case NetEventType.Disconnect:
                var info = new DisconnectInfo
                {
                    Reason          = evt.DisconnectReason,
                    AdditionalData  = evt.DataReader,
                    SocketErrorCode = evt.AdditionalData
                };
                _netEventListener.OnPeerDisconnected(evt.Peer, info);
                break;

            case NetEventType.Receive:
                // Keep backward compatibility
                if (evt.Channel == 0)
                {
                    _netEventListener.OnNetworkReceive(evt.Peer, evt.DataReader, evt.DeliveryMethod);
                }
                _netEventListener.OnNetworkReceiveFromChannel(evt.Peer, evt.DataReader, evt.DeliveryMethod, evt.Channel);
                break;

            case NetEventType.ReceiveUnconnected:
                _netEventListener.OnNetworkReceiveUnconnected(evt.RemoteEndPoint, evt.DataReader, UnconnectedMessageType.BasicMessage);
                break;

            case NetEventType.DiscoveryRequest:
                _netEventListener.OnNetworkReceiveUnconnected(evt.RemoteEndPoint, evt.DataReader, UnconnectedMessageType.DiscoveryRequest);
                break;

            case NetEventType.DiscoveryResponse:
                _netEventListener.OnNetworkReceiveUnconnected(evt.RemoteEndPoint, evt.DataReader, UnconnectedMessageType.DiscoveryResponse);
                break;

            case NetEventType.Error:
                _netEventListener.OnNetworkError(evt.RemoteEndPoint, evt.AdditionalData);
                break;

            case NetEventType.ConnectionLatencyUpdated:
                _netEventListener.OnNetworkLatencyUpdate(evt.Peer, evt.AdditionalData);
                break;

            case NetEventType.ConnectionRequest:
                _netEventListener.OnConnectionRequest(evt.ConnectionRequest);
                break;
            }

            //Recycle
            evt.DataReader.Clear();
            evt.Peer              = null;
            evt.AdditionalData    = 0;
            evt.RemoteEndPoint    = null;
            evt.ConnectionRequest = null;

            lock (_netEventsPool)
            {
                _netEventsPool.Push(evt);
            }
        }