Exemplo n.º 1
0
        private IEnumerator FindIdleServerThenConnect()
        {
            var url = "http://" + ClientApp.Instance.QueryServerIP + ":" + ClientApp.Instance.ServerHttpPort + "/idleServer";
            var www = new WWW(url);

            yield return(www);

            if (!string.IsNullOrEmpty(www.error))
            {
                //WorldManager.ReturnCity();
                Util.ShowMsg("连接服务器失败");
                WorldManager.ReturnCity();
                yield break;
            }
            var txt = www.text;

            Log.Sys("FindIdleServer: " + txt);
            var returnServer = txt.Split(':');
            var lb           = IPAddress.Parse(returnServer[0]);
            var ind          = returnServer[0].IndexOf("127.0.0.1");

            Log.Sys("Remote ServerIP: " + returnServer[0] + " ind " + ind);
            if (ind != -1)
            {
                ClientApp.Instance.remoteServerIP = ClientApp.Instance.QueryServerIP;
            }
            else
            {
                ClientApp.Instance.remoteServerIP = returnServer[0];
            }
            ClientApp.Instance.remotePort = System.Convert.ToInt32(returnServer[1]);
            Log.Sys("ConnectRemoteServer: " + ClientApp.Instance.remoteServerIP + " port " + ClientApp.Instance.remotePort);
            StartCoroutine(InitConnect());
        }
Exemplo n.º 2
0
 void EvtHandler(RemoteClientEvent evt)
 {
     Debug.LogError("RemoteClientEvent: " + evt);
     NetDebug.netDebug.AddMsg("ReceiveEvt: " + evt);
     lastEvt = evt;
     if (lastEvt == RemoteClientEvent.Close)
     {
         WindowMng.windowMng.ShowNotifyLog("和服务器断开连接:" + state);
         if (state != WorldState.Closed)
         {
             Debug.LogError("ConnectionClosed But WorldNotClosed");
             state = WorldState.Closed;
             //StartCoroutine(RetryConnect());
             //StartCoroutine(QuitScene());
             WorldManager.ReturnCity();
             Util.ShowMsg("断开连接");
         }
     }
     else if (lastEvt == RemoteClientEvent.Connected)
     {
         WindowMng.windowMng.ShowNotifyLog("连接服务器成功:" + state);
     }
 }
Exemplo n.º 3
0
 void OnQuit()
 {
     WorldManager.ReturnCity();
 }