110,571
社区成员
发帖
与我相关
我的任务
分享
try
{
mTcpClient = new TcpClient(AddressFamily.InterNetwork);
mTcpClient.Connect(address, port);
if (mTcpClient.Connected)
{
if (mIsSSL)
{
SslStream sslStream = new SslStream(mTcpClient.GetStream(), false, (s, cert, chain, err) => true);
sslStream.AuthenticateAsClient(CERT_NAME);
mStream = sslStream;
}
else
{
mStream = mTcpClient.GetStream();
}
mIsConnected = true;
OnConnectionEvent(Defines.EVT_NET_CONNECTED, string.Format("Server connected"));
OnDebug(LogMode.Info,
string.Format("Server connected.\tLocal:{0}\tRemote:{1}", mTcpClient.Client.LocalEndPoint,
mTcpClient.Client.RemoteEndPoint));
//开始接收数据
mStream.BeginRead(mReceiveBuffer, 0, mHeadSize, ReceiveMessageWorker, mStream);
//发送Hello消息
SendHelloMessage();
//启动发送心跳的线程
CreateHeartbeatThread();
}
}
catch (Exception ex)
{
OnDebug(LogMode.Error, string.Format("Connect fail.\t{0}", ex.Message));
optReturn.Result = false;
optReturn.Code = Defines.RET_FAIL;
optReturn.Message = ex.Message;
}