请教使用Socket发送完成后端口不释放的问题! 偶尔会出现这个错误“通常每个套接字地址 (协议/网络地址/端口)只允许使用一次。”哪位大侠帮帮忙? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 aSocket.Shutdown(SocketShutdown.Both);aSocket.Close(); 并不是不能释放,是释放的要一点时间(C#这点真烂,不如C++)aSocket.Shutdown(SocketShutdown.Both);aSocket.Close();System.Threading.Thread.Sleep(100);//暂停一下接着再用 aSocket.Shutdown(SocketShutdown.Both);aSocket.Close();这个肯定是写了,System.Threading.Thread.Sleep(100);//暂停一下但是暂停是肯定不行的,要的就速度,100ms太长了,我以前用一模一样的代码,请求一次的时间能达到2毫秒之内,而且以这个速度连续请求50万次,都没出这个错误,不知道现在是为什么!希望高手帮帮忙!谢谢 我突然想到有可能是framework版本的问题,因为以前正常的程序是在一台framework1.0的机器上,现在是在一台framework1.1的机器上! 换到framework1.0的机器上就没这个问题了。 据我所知,TCP在连接关闭(主动关闭的一方)的时候会进入个2MSL等待状态,MSL是一个报问段最大生存时间,在连接处于2MSL等待时,将不能重新启用相同的端口,但过会就可以了,我不知道是不是可能是这个原因,我也在写个SOCK程序,正想测试下MSL的时间是多少,而且每个系统的版本都不一样。 固定本地端口可以用Socket.Bind方法啊 楼主,你报以上那种错,应该是你的server端有问题,绑定了端口,没有释放,以上方法只能关闭client的连接,不能关闭你监听的端口,所以你的server程序再次绑定端口就会报错了,请问楼主使用的是短连接还是长连接模式?有空同我交流MNS:[email protected],我们的项目用socket连接都没有问题 deng1107(游戏人间(.net)) ,是短连接。 System.Diagnostics.Process pros = System.Diagnostics.Process.GetProcesses();for(int i = 0; i < pros.Length; i++){ if(pros[i].ProcessName = "你程序的进程名") { pros[i].Kill(); break; }} C# 写的socket如何使用LoadRunner进行压力测试 c#添加问题? 请赐教一下程序如何实现生产管理交接班流程? 菜鸟提问!关于截取字符串的问题! 项目生成时,如何将运行的程序关闭 请大家看看这是怎么回事? 关于usbkey的问题 求Beginnging C#的源程序! 为何属性也有方法 求教——如何使用Udpclient发送和接收广播信息 相对简单的问题,高手请进 如何得到计算机的所有用户?
aSocket.Close();
aSocket.Close();
System.Threading.Thread.Sleep(100);//暂停一下
接着再用
aSocket.Close();这个肯定是写了,System.Threading.Thread.Sleep(100);//暂停一下
但是暂停是肯定不行的,要的就速度,100ms太长了,我以前用一模一样的代码,请求一次的时间能达到2毫秒之内,而且以这个速度连续请求50万次,都没出这个错误,不知道现在是为什么!
希望高手帮帮忙!谢谢
有空同我交流MNS:[email protected],我们的项目用socket连接都没有问题
for(int i = 0; i < pros.Length; i++)
{
if(pros[i].ProcessName = "你程序的进程名")
{
pros[i].Kill();
break;
}
}