public void open(string ip, int port) { this.ip = ip; this.port = port; try { initConnection(); } catch (Exception e) { Console.WriteLine(e.GetBaseException()); } Thread heartbeatThread = new Thread(SocketThread); heartbeatThread.IsBackground = true; heartbeatThread.Start(); IExecutor handler = null; foreach (IExecutor exec in handlers.Values) { if (exec.getnProtoID() == InitConnectExec.nProtoID) { handler = exec; break; } } long startTime = Utils.currentTimeMillis(); while (handler.getValue() == null) { if ((Utils.currentTimeMillis() - startTime) > 30 * 1000)//超时 { break; } sleepMillis(1); } InitConnect.Response res = (InitConnect.Response)handler.getValue(); connID = (long)res.S2C.ConnID; //Console.WriteLine(connID); }
public void execute(ProtoBufPackage pack) { response = InitConnect.Response.ParseFrom(pack.Bodys); //Console.WriteLine(response); }