Esempio n. 1
0
        public void StartConnect()
        {
            IPAddress ipAddress = IPAddress.Parse(IP);

            remoteEP = new IPEndPoint(ipAddress, Port);

            if (connection != null && !connection.m_Disposed)
            {
                connection.Dispose();
                connection = null;
            }

            connection = new JHSConnection();
            connection.Init(true);

            if (NetConfig.logFilter >= JHSLogFilter.Developer)
            {
                JHSDebug.Log("JHSNetworkManager Connecting to Server reconnect attmpt:" + m_RecconectTry);
            }
            connection.m_socket = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
            {
                Blocking = false
            };
            connection.m_socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveBuffer, 1048576);
            connection.m_socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendBuffer, 1048576);
            connection.m_socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.DontLinger, 1);
            connection.m_socket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay, 0);
            connection.m_socket.BeginConnect(remoteEP, ConnectCallback, connection.m_socket);
            Connecting        = true;
            PermaDisconnected = false;
        }
Esempio n. 2
0
 public bool Disconnect(JHSConnection con)
 {
     JHSNetworkClient.Instance.ClientConnected = false;
     if (con != null)
     {
         JHSNetworkClient.PushMessage(new JHSNetworkMessage
         {
             msgType = RecconectTry == m_RecconectTry ? InternalMessages.DISCONNECT : InternalMessages.DISCONNECT_BUT_WILL_RECONNECT,
             conn    = con,
             reader  = new JHSNetworkReader()
         });
         JHSStatisiticsManager.Remove(con);
         con.Dispose();
         Connected        = false;
         LastTryToConnect = JHSTime.Time + NetConfig.ReconnectTimeOut;
         return(true);
     }
     LastTryToConnect = JHSTime.Time + NetConfig.ReconnectTimeOut;
     Connected        = false;
     return(false);
 }
Esempio n. 3
0
 public bool Disconnect(JHSConnection con)
 {
     if (con != null)
     {
         uint conId = con.connectionId;
         JHSNetworkServer.PushMessage(new JHSNetworkMessage
         {
             msgType = InternalMessages.DISCONNECT,
             conn    = con,
             reader  = new JHSNetworkReader()
         });
         JHSStatisiticsManager.Remove(con);
         lock (m_Connections)
         {
             if (m_Connections.ContainsKey(conId))
             {
                 m_Connections.Remove(conId);
             }
         }
         con.Dispose();
     }
     return(true);
 }