示例#1
0
 public bool OnConnect(NonBlockingConnection conn)
 {
     ConsoleEx.DebugLog("Connect to the Server.");
     curConnectType = isConnectType.isConnected;
     HandleTask();
     return(true);
 }
示例#2
0
 /// <summary>
 /// 强制重连
 /// </summary>
 public void ReConnect()
 {
     if (curConnectType != isConnectType.isConnecting)
     {
         curConnectType = isConnectType.isConnecting;
         Conn.Connect();
     }
 }
示例#3
0
    public void OnLogin(object ServerEndPoint)
    {
        endPoint = ServerEndPoint as DnsEndPoint;
        Conn     = new NonBlockingConnection(endPoint.Host, endPoint.Port, this);

        if (curConnectType == isConnectType.isConnecting)
        {
            curConnectType = isConnectType.isDisconnect;
        }
    }
示例#4
0
 public void sendSocketTask(SocketTask task)
 {
     if (task.request.type == BaseSocketRequestType.Internal_Control)
     {
         HandleInternalTask(task);
     }
     else
     {
         if (isConnected)
         {
             HandleTask(task);
         }
         else
         {
             //添加到队列里面来,
             workQueue.Enqueue(task);
             if (curConnectType != isConnectType.isConnecting)
             {
                 curConnectType = isConnectType.isConnecting;
                 Conn.Connect();
             }
         }
     }
 }
示例#5
0
 private SocketEngine()
 {
     curConnectType = isConnectType.isDisconnect;
     workQueue      = new ThreadSafeQueue <SocketTask>(QUEUE_CAPACITY);
     TaskQueue      = new Dictionary <int, SocketTask>();
 }
示例#6
0
 public bool OnException(NonBlockingConnection conn, Exception e)
 {
     Socket_CommException(e.ToString());
     curConnectType = isConnectType.isDisconnect;
     return(true);
 }
示例#7
0
 public bool OnDisconnect(NonBlockingConnection conn)
 {
     Socket_CommException("Disconnect from the Server.");
     curConnectType = isConnectType.isDisconnect;
     return(true);
 }