public bool BeginConnect(string ip, int port, Action <bool> callback = null)
        {
            if (Status == SocketStatus.Connected)
            {
                SocketTools.LogError("socket is connected!");
                return(false);
            }
            this.Close();
            IPEndPoint ipEndPoint;

            if (CheckEndToPoint(ip, port, out ipEndPoint))
            {
                _callback         = callback;
                _connectCoroutine = this.SocketClientMgr.StartCoroutine(ConnectSocket(ipEndPoint));
                return(true);
            }
            else
            {
                SocketTools.LogError("ip " + ip + " is not correct format!");
                return(false);
            }
        }
 //这个再主线程调用
 public void Disconnect()
 {
     //可以抛出事件
     SocketTools.Log("socketClient:" + SocketClientType + ",Disconnect");
     this.Close();
 }
 private void AsyncCallback(IAsyncResult ar)
 {
     SocketTools.Log("AsyncCallback");
 }