我这儿是客户端程序,在与服务端通讯的时候,出现了异常,采用下面方式关闭socket
if (sock != null)
{
if(sock.Connected)
{
sock.Shutdown(SocketShutdown.Receive);
}
sock.Shutdown(SocketShutdown.Receive);
sock.Close();
sock = null;
}然后重新初始化socketIPAddress address = IPAddress.Parse(IP);
IPEndPoint point = new IPEndPoint(address, int.Parse(PORT));
try
{
sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sock.Connect(point);
}
catch(Exception ex)
{
//重新调用自己构造
}
这样在程序里面调用sock.receive();就收不到任何数据,当服务器看到消息事发送了的。有没有高手解释一下。这个问题是在做CNGP协议的客户端的时候遇到的
if (sock != null)
{
if(sock.Connected)
{
sock.Shutdown(SocketShutdown.Receive);
}
sock.Shutdown(SocketShutdown.Receive);
sock.Close();
sock = null;
}然后重新初始化socketIPAddress address = IPAddress.Parse(IP);
IPEndPoint point = new IPEndPoint(address, int.Parse(PORT));
try
{
sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sock.Connect(point);
}
catch(Exception ex)
{
//重新调用自己构造
}
这样在程序里面调用sock.receive();就收不到任何数据,当服务器看到消息事发送了的。有没有高手解释一下。这个问题是在做CNGP协议的客户端的时候遇到的
解决方案 »
- 求EM算法插补数据缺失的代码
- 关于单元测试的问题
- 在winform当中如何判断文件是否下载完毕。
- 如何修改类库项目输出文件名的后缀?例如mylib.dll--->mylib.xxx
- 1分钟刷1次。。。分全给了~急..请大家帮帮忙...字符串处理问题
- 为什么我的web服务别人的机器不能反问?
- Oracle存储过程是不是只能用OracleParameter填参数?我用exec procedurename(parameter)执行怎么都不成功
- c# POST发送和接受
- 用WebClient 获取网页源码,源码达到一定长度,只能获取到部分源码,而源码比较短的可以获取完整?
- ADO.NET的一个问题!!急急急急急
- 救命啊,我的服务为什么会暂停????100分就救啊!!!
- 大家都来说说学C#那些书不能看,那些书不能看,免得耽误初学者的时间.
{
sock.Shutdown(SocketShutdown.Receive);
}
sock.Shutdown(SocketShutdown.Receive);
怎么receive shutdown了两次啊?