public void Connect(string host, int port, int connectionID) { Clean(); mSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ipa = IPAddress.Parse(host); IPEndPoint iep = new IPEndPoint(ipa, port); if (mAnsy) { ConnectArg arg = new ConnectArg(); arg.AcceptSocket = mSocket; arg.callBack = OnConnect; arg.RemoteEndPoint = iep; arg.UserToken = connectionID; bool res = mSocket.ConnectAsync(arg); mConnecting = true; } else { try { mSocket.Connect(iep);//连接到服务器 } catch (SocketException exc) { onNetConnected.Invoke(false, (SocketError)exc.ErrorCode, connectionID); } onNetConnected.Invoke(true, SocketError.Success, connectionID); BeginAccept(); } }