Exemplo n.º 1
0
        /** 连接成功(主线程) */
        public void preConnectSuccessForIO()
        {
            if (!isConnecting())
            {
                return;
            }

            _state = Connected;

            Ctrl.print("socket连接成功:", _doIndex);

            //重连中
            if (_reconnecting && _receiveID > 0)
            {
                Ctrl.print("发送重连消息", _receiveID, _receiveToken, _receiveMsgIndex);

                refreshPingTime();

                clearSend();
                sendAbs(SocketReconnectRequest.create(_receiveID, _receiveToken, _receiveMsgIndex));

                sendPingRequest();
                _reConnectTime.start();
            }
            else
            {
                clear();
                //发一次ping
                sendPingRequest();

                onConnectSuccess();
            }
        }
Exemplo n.º 2
0
    /// <summary>
    /// 创建实例
    /// </summary>
    public static SocketReconnectRequest create(int socketID, int token, int lastReceiveIndex)
    {
        SocketReconnectRequest re = (SocketReconnectRequest)BytesControl.createRequest(dataID);

        re.socketID         = socketID;
        re.token            = token;
        re.lastReceiveIndex = lastReceiveIndex;
        return(re);
    }