示例#1
0
    /// <summary>
    /// 文本协议socket连接成功
    /// </summary>
    /// <param name="textSock"></param>
    static void OnTextSockConnected(TextSock textSock)
    {
        LogSystem.Log("OnTextSockConnected");
        string strSendInfo = "svrlist" + "" + GlobalData.Version;

        if (!textSock.Send(strSendInfo))
        {
            LogSystem.LogError("textSock Send failed");
        }
    }
示例#2
0
    /// <summary>
    /// 文本协议Socket消息接受,只用于获取服务器列表数据
    /// </summary>
    /// <param name="textSock"></param>
    /// <param name="args"></param>
    static void OnTextSockRecieveData(TextSock textSock, ref VarList args)
    {
        LogSystem.Log("OnTextSockRecieveData");
        int count = args.GetCount();

        if (count <= 0)
        {
            LogSystem.Log("OnTextSockRecieveData param null");
            return;
        }
        ///消息头
        string strHeader = args.GetString(0);

        LogSystem.Log("OnTextSockRecieveData", strHeader);
        if (strHeader.Equals("svrlist"))
        {
            ///服务器列表
            string strServerName = args.GetString(1);
            string strMemberAddr = args.GetString(2);
            int    nMemberPort   = args.GetInt(3);
            int    iLoad         = args.GetInt(4);
            LogSystem.Log(strServerName, "|", strMemberAddr, "|", nMemberPort, "|", iLoad);
            textSock.Disconnect();
            if (string.IsNullOrEmpty(strServerName))
            {
                mstrMemberAddress   = strMemberAddr;
                mstrMemberPort      = nMemberPort;
                miRecieveMemberType = -2;
            }
            else
            {
                mstrMemberAddress   = strMemberAddr;
                mstrMemberPort      = nMemberPort;
                miRecieveMemberType = 1;
            }
        }
        else if (strHeader.Equals("version_error"))
        {
            miRecieveMemberType = 2;
        }
    }
示例#3
0
    /// <summary>
    /// 连接服务器
    /// </summary>
    /// <param name="strServerIP">服务器地址</param>
    /// <param name="iPort">端口</param>
    /// <param name="strUserName">账号名</param>
    /// <param name="strPassword">密码</param>
    /// <returns>连接成败</returns>
    public static bool ConnectTo(string strServerIP, int iPort, string strUserName, string strPassword, string strValidatestring = "", int iReconnect = 2)
    {
        //Debug.Log("ConnectTo::", strUserName, ":", strPassword, ":", strValidatestring);
        if (!string.IsNullOrEmpty(strServerIP))
        {
            TimerManager.AddTimerRepeat("CheckServerListen", 0.5f, CheckConnectToMember);
            mstrMemberUserName       = strUserName;
            mstrMemberPassword       = strPassword;
            mstrMemberValidatestring = strValidatestring;
            miMemberReconnect        = iReconnect;

            TextSock textSock = new TextSock(OnTextSockConnected, OnTextSockConnectFailed, OnTextSockRecieveData);
            if (textSock != null)
            {
                return(textSock.Connect(strServerIP, iPort));
            }
        }
        else
        {
            miRecieveMemberType = 0;
            ///提示连接失败
            TimerManager.ClearTimerWithPrefix("CheckServerListen");

//             ///提示连接失败
//             SystemWaitPanel.End();
//             string strHeader = TextManager.Instance.GetString("UI00031");
//             PromptType pt = PoolManager.PopObject<PromptType>(PoolManager.PoolKey.Object_PromptType);
//             pt.layer = 3;
//             pt.title = strHeader;
//             pt.content = TextManager.Instance.GetUIString("UI17999");
//             pt.style = PromptType.Style.OK;
//             GUIManager.ShowView<SystemPrompt>(pt);
        }

        return(false);
    }
示例#4
0
 /// <summary>
 /// 文本协议socket连接成功
 /// </summary>
 /// <param name="textSock"></param>
 static void OnTextSockConnectFailed(TextSock textSock)
 {
     LogSystem.Log("OnTextSockConnectFailed");
     textSock.Disconnect();
     miRecieveMemberType = -1;
 }