首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问关于SOCKET断开再重新使用此TcpClient去连接服务器,会报出SOCKET正在连接的异常

2012-02-13 
请教关于SOCKET断开再重新使用此TcpClient去连接服务器,会报出SOCKET正在连接的错误代码如下:TcpClientFTc

请教关于SOCKET断开再重新使用此TcpClient去连接服务器,会报出SOCKET正在连接的错误
代码如下:
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.ConnectSvr()还占用着socket的啊!
先pClient.DisconnectSvr()
------解决方案--------------------


同一楼
[解决办法]
同意,先断再连,一定要close()
[解决办法]
先断再连,一定要close()

[解决办法]
pClient.ConnectSvr()
这句有些不同啊?
[解决办法]
public void DisconnectSvr()
{
if (FTcpClient.Connected)
{
FTcpClient.Client.Shutdown(SocketShutdown.Both);
FTcpClient.Client.Close();
}
}
客户端虽然是断开了。但服务器端是如何实现关闭当前连接的?
[解决办法]
pClient.ConnectSvr() 《--- ???
FTcpclient.DisconnectSvr();
FTcpClient.ConnectSvr(); --> 这里报错,10056错误, 错误信息是Socket is already connected
[解决办法]
pClient是什么?没看懂。。。
[解决办法]
我想知道,你服务器端怎么写的?
还有就是里面有
Host = "127.0.0.1 ";
Port = 9000;
但ConnectSvr()方法里又是
FTcpClient.Connect(FHost, FPort);
这里是怎么回事?

热点排行