Exemple #1
0
    /// <summary>
    /// 连接游戏服务器,设置和服务器连接状态的一些回调
    /// </summary>
    /// <param name="successDelegate"></param>
    /// <param name="errorhandler"></param>
    public void ConnectGameServer(TConndSocketEventDelegate successDelegate)
    {
        //Debug.LogError("unity ConnectGameServer");
        if (mGameServerHandler != null)
        {
            mGameServerHandler.Close();
        }

        if (mGameServerHandler == null || mGameServerHandler.IsShutDown())
        {
            //Debug.LogError("unity mGameServerHandler mGameServerHandler.IsShutDown()");
            mGameServerHandler = new TConndServerHandler();
            this.mConnectSvrSuccessDelegate = successDelegate;
            mNetworkActive             = true;
            mBClientInConnectSvrStatus = true;
            //MenuLoading.Create(Localization.instance.Get("Connecting"));

            RealConnectSvr(ConnecGameSvrSuccessCallback);
            //StartCoroutine(RealConnectSvr(ConnecGameSvrSuccessCallback));
        }
        else
        {
            Debug.LogError("unity ConnectGameServer (mGameServerHandler == null || mGameServerHandler.IsShutDown()) == false");
        }
    }
Exemple #2
0
    /// <summary>
    /// 游戏服务器连接出错回调
    /// </summary>
    /// <param name="stopReason"></param>
    void GameServerSocketErrorCallBack(int errorCode)
    {
        m_bIsReconnecting          = false;
        mConnectSvrSuccessDelegate = null;
        mBClientInConnectSvrStatus = false;

        HandleNetworkError(CSMsgResult.NetworkError, errorCode);

        Invoke("DelayUnlockScreen", 5.0f);
    }
Exemple #3
0
 /// <summary>
 /// 连接服务器
 /// </summary>
 /// <param name="serverName"></param>
 /// <param name="port"></param>
 /// <param name="dataType"></param>
 public void Connect(string serverName, int port,
                     TConndSocketEventDelegate connectedDelegate, TConndSocketErrorHandleDelegate errorHandleDelegate,
                     float connectTimeout = 5)
 {
     mServerState = TConndServerState.StateInit;
     mConnectedSuccessDelegate = connectedDelegate;
     mErrorHandleDelegate      = errorHandleDelegate;
     mConnectTimeout           = connectTimeout;
     mSocket = new CSocket();
     mSocket.ConnectSocket(serverName, port);
     mConnectingStartTime = UnityEngine.Time.realtimeSinceStartup;
 }
Exemple #4
0
    void ConnecGameSvrSuccessCallback()
    {
        m_bIsReconnecting = false;
        //Debuger.Log("Connect to srv sucess!!");
        if (mConnectSvrSuccessDelegate != null)
        {
            mConnectSvrSuccessDelegate();
        }

        mConnectSvrSuccessDelegate = null;
        mBClientInConnectSvrStatus = false;

        //UnlockScreen();
    }
Exemple #5
0
    public void RealConnectSvr(TConndSocketEventDelegate successDelegate)
    {
        //Debug.LogError("unity RealConnectSvr");
        if (mGameServerHandler != null)
        {
            //Debug.LogError("unity mGameServerHandler");
            LoginMgr Inst = LoginMgr.Instance;
            //Debuger.LogError("Connect to srv: [ip:] " + Inst.SvrHost + " [port:]" + Inst.Port);
            mGameServerHandler.Connect(Inst.SvrHost, Inst.Port, successDelegate, GameServerSocketErrorCallBack, 30);

            // UI3System.lockScreen(902/*"正在连接..."*/, 10.0f, () => {
            //    UISystemTip.ShowTip(901/*"网络已断开,点击重新连接"*/, ReConnect);
            //   });
        }
        // yield return null;
    }