Ejemplo n.º 1
0
        private void OnDisconnect(object sender, TcpConnection.TcpConnectionArgs e)
        {
            Player player = new Player(Account, Number, e.Connection);
            var    args   = new PlayerArg
            {
                Player = player
            };

            OnDisconnectEvent?.Invoke(this, args);
        }
Ejemplo n.º 2
0
        public void Disconnect()
        {
            UpdateManager.StopUdpUpdates();

            _tcpNetClient.Disconnect();
            _udpNetClient.Disconnect();

            IsConnected = false;

            // Invoke callback if it exists
            OnDisconnectEvent?.Invoke();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 主动断开连接
        /// </summary>
        /// <param name="msg">断开原因字符串</param>
        public void Disconnect(string msg)
        {
            if (mIsConnected)
            {
                mNetStream.Close();
                mTcpClient.Close();
                mIsConnected = false;

                mOnDisConnect?.Invoke(msg);

                lock (mRecvPacks)
                {
                    mRecvPacks.Clear();
                }
            }
        }
Ejemplo n.º 4
0
 // Update is called once per frame
 void Update()
 {
     if (isConnected)
     {
         lock (thisLock) {
             if (disconnected)
             {
                 socketConnection = null;
                 closeEvent.Set();
                 RecvedPackets.Clear();
                 if (OnDisconnectEvent != null)
                 {
                     OnDisconnectEvent.Invoke();
                 }
                 isConnected  = false;
                 disconnected = false;
             }
         }
     }
 }
        public void HandleEvents()
        {
            lock (netEventQueue)
            {
                while (netEventQueue.Count != 0)
                {
                    NetEvent netEvent = netEventQueue.Dequeue();

                    switch (netEvent.type)
                    {
                    case ENet.EventType.None:
                        break;

                    case ENet.EventType.Connect:
                    {
                        isConnected = true;
                        OnConnect();
                        OnConnectEvent?.Invoke();
                    }
                    break;

                    case ENet.EventType.Receive:
                    {
                        HandleAnyPacket(netEvent.packet);
                    }
                    break;

                    case ENet.EventType.Disconnect:
                    {
                        isConnected = false;
                        OnDisconnect();
                        OnDisconnectEvent?.Invoke();
                    }
                    break;
                    }
                }
            }
        }
Ejemplo n.º 6
0
 public override void OnDisconnect(int reasonCode)
 {
     OnDisconnectEvent?.Invoke(reasonCode);
 }
Ejemplo n.º 7
0
 private void RaiseOnDisconnect()
 {
     DisconnectHandle.Invoke(this, Remote);
 }
Ejemplo n.º 8
0
 public void Disconnect(SocketInput input, SocketOutput output)
 {
     connectedOutputs.Remove(output);
     OnDisconnectEvent?.Invoke(input, output);
 }
Ejemplo n.º 9
0
 public override void OnDisconnected(DisconnectCause cause)
 {
     OnDisconnectEvent?.Invoke();
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Internal pass through for disconnection events
 /// </summary>
 private static void OnInternalDisconnected()
 {
     OnDisconnected.Invoke();
 }
Ejemplo n.º 11
0
    protected override void OnDisconnect()
    {
        Debug.Log("Disconnected");

        OnDisconnectEvent.Invoke();
    }