代码如下:
TcpClient FTcpClient=new TcpClient();
FTcpClient.ReceiveTimeout = 10;
FTcpClient.SendTimeout = 10;
Host = "127.0.0.1";
Port = 9000;
pClient.ConnectSvr()
FTcpclient.DisconnectSvr();
FTcpClient.ConnectSvr(); -->这里报错,10056错误, 错误信息是Socket is already connected public bool ConnectSvr()
{
try
{
if (!FTcpClient.Connected)
FTcpClient.Connect(FHost, FPort);
return true;
}
catch (SocketException e)
{
return false;
}
} public void DisconnectSvr()
{
if (FTcpClient.Connected)
{
FTcpClient.Client.Shutdown(SocketShutdown.Both);
FTcpClient.Client.Close();
}
}始终没弄明白这是为什么,大家能指点一下嘛,谢谢了
TcpClient FTcpClient=new TcpClient();
FTcpClient.ReceiveTimeout = 10;
FTcpClient.SendTimeout = 10;
Host = "127.0.0.1";
Port = 9000;
pClient.ConnectSvr()
FTcpclient.DisconnectSvr();
FTcpClient.ConnectSvr(); -->这里报错,10056错误, 错误信息是Socket is already connected public bool ConnectSvr()
{
try
{
if (!FTcpClient.Connected)
FTcpClient.Connect(FHost, FPort);
return true;
}
catch (SocketException e)
{
return false;
}
} public void DisconnectSvr()
{
if (FTcpClient.Connected)
{
FTcpClient.Client.Shutdown(SocketShutdown.Both);
FTcpClient.Client.Close();
}
}始终没弄明白这是为什么,大家能指点一下嘛,谢谢了
先pClient.DisconnectSvr()
这句有些不同啊?
{
if (FTcpClient.Connected)
{
FTcpClient.Client.Shutdown(SocketShutdown.Both);
FTcpClient.Client.Close();
}
}
客户端虽然是断开了。但服务器端是如何实现关闭当前连接的?
FTcpclient.DisconnectSvr();
FTcpClient.ConnectSvr(); -->这里报错,10056错误, 错误信息是Socket is already connected
还有就是里面有
Host = "127.0.0.1";
Port = 9000;
但ConnectSvr()方法里又是
FTcpClient.Connect(FHost, FPort);
这里是怎么回事?