Example #1
0
    /// <summary>
    /// 创建与服务器链接的ID
    /// </summary>
    public void ConnectPrivateByKindID()
    {
        TagGameServer tagServer = CServerListData.Instance.GetTagServerByKindID(GlobalDataScript.SSS_KIND_ID);
        string        ip        = NetUtil.BytesToString(tagServer.szServerAddr);

        SocketInGameEvent.Instance.ISocketEngineSink(ip, tagServer.wServerPort);
    }
Example #2
0
    //返回搜索房间结果
    public void Search_Result(byte[] tmpBuf, int size)
    {
        CMD_MB_SearchResult result = NetUtil.BytesToStruct <CMD_MB_SearchResult>(tmpBuf);

        if (result.dwServerID == 0)
        {
            MyDebug.Log("返回搜索房间结果");
            SocketEventHandle.Instance.SetTips("房间号不存在!!!");
            SocketEngine.Instance.SocketQuit();
            return;
        }
        SocketEngine.Instance.SocketQuit(false);
        TagGameServer serverInfo = CServerListData.Instance.GetTagServerByServerID((int)result.dwServerID);

        if (serverInfo.wKindID == GlobalDataScript.SSS_KIND_ID)
        {
            SocketSSSEvent.instance.Init();
            SocketSSSEvent.instance.tableId = (int)result.dwTableID;
            SocketSSSEvent.instance.ConnectGameServerByServerID(serverInfo.wServerID);
        }

        //牛牛待添加...
        else if (serverInfo.wKindID == GlobalDataScript.NN_KIND_ID)
        {
            SocketNiuNiuEvent.instance.Init();
            SocketNiuNiuEvent.instance.tableId = (int)result.dwTableID;
            SocketNiuNiuEvent.instance.ConnectGameServerByServerID(serverInfo.wServerID);
        }
    }
Example #3
0
 public void ISocketEngineSinkByServerId(int serverId)
 {
     serverInfo = CServerListData.Instance.GetTagServerByServerID(serverId);
     socketip   = NetUtil.BytesToString(serverInfo.szServerAddr);
     socketPort = serverInfo.wServerPort;
     ISocketEngineSink();
 }
Example #4
0
 //插入房间
 public void InsertGameServer(TagGameServer pGameServer)
 {
     if (tagGameServerList == null)
     {
         tagGameServerList = new List <TagGameServer>();
     }
     tagGameServerList.Add(pGameServer);
     MyDebug.Log(" pGameServer.wServerID:" + pGameServer.wServerID);
 }
Example #5
0
    public void ConnectGameServerByServerID(int serverId)
    {
        TagGameServer tagServer = CServerListData.Instance.GetTagServerByServerID(serverId);

        if (tagServer.wKindID == 0)
        {
            UIManager.instance.Show(UIType.UITipsDialog,
                                    (go) => { go.GetComponent <UIPanel_TipsDialog>().SetMes("房间不存在"); });
            return;
        }

        string ip = NetUtil.BytesToString(tagServer.szServerAddr);

        SocketInGameEvent.Instance.ISocketEngineSink(ip, tagServer.wServerPort);
    }
Example #6
0
 public void Init()
 {
     isDisslove   = false;
     nnstatus     = -1;
     isDisConnect = false;
     tableId      = -1;
     chairId      = -1;
     myStatue     = -1;
     serverInfo   = new TagGameServer();
     socketip     = null;
     socketPort   = 0;
     send_buffer  = null;
     GlobalDataScript.Instance.isExitGame    = false;
     GlobalDataScript.Instance.isSigGameOver = false;
 }
Example #7
0
    public TagGameServer GetTagServerByServerID(int serverId)
    {
        TagGameServer tag = new TagGameServer();

        tag.dwOnLineCount = 200000;
        for (int i = 0; i < tagGameServerList.Count; i++)
        {
            if (tagGameServerList[i].wServerID != serverId)
            {
                continue;
            }
            if (tag.dwOnLineCount > tagGameServerList[i].dwOnLineCount)
            {
                tag = tagGameServerList[i];
            }
        }

        return(tag);
    }
Example #8
0
    public TagGameServer GetTagServerByKindID(int wKindID)
    {
        TagGameServer tag = new TagGameServer();

        tag.dwOnLineCount = 200000;
        tag.wServerPort   = 9000;
        for (int i = 0; i < tagGameServerList.Count; i++)
        {
            if (tagGameServerList[i].wKindID != wKindID)
            {
                continue;
            }
            if (tag.dwOnLineCount > tagGameServerList[i].dwOnLineCount)
            {
                tag = tagGameServerList[i];
            }
        }

        return(tag);
    }
Example #9
0
    // 房间列表
    bool OnSocketListServer(byte[] data, int size)
    {
        ////更新数据
        int itemSize = Marshal.SizeOf(typeof(TagGameServer));

        if (size % itemSize != 0)
        {
            return(false);
        }
        int iItemCount = size / itemSize;

        for (int i = 0; i < iItemCount; i++)
        {
            TagGameServer pGameServer =
                (TagGameServer)NetUtil.BytesToStruct(data, typeof(TagGameServer), itemSize, i * itemSize);
            CServerListData.Instance.InsertGameServer(pGameServer);
        }

        return(true);
    }