当前位置: 技术问答>linux和unix
关于端口绑定(linux为服务端,windows为客户端)后无法立即释放的问题
来源: 互联网 发布时间:2015-09-05
本文导语: 我在linux下绑定了一个tcp端口(如7500),windows上的客户端用socket去连接它。连接以及连接上以后的通信都是正常的。但是,通信过程中如果我先关闭linux下的服务程序(正常关闭,建立的socket也都用close函数释放掉了...
我在linux下绑定了一个tcp端口(如7500),windows上的客户端用socket去连接它。连接以及连接上以后的通信都是正常的。但是,通信过程中如果我先关闭linux下的服务程序(正常关闭,建立的socket也都用close函数释放掉了),再启动服务程序就无法再绑定那个tcp(7500)端口了,错误信息为:already in use。一定要过20-30秒钟再启动服务程序就可以绑定了。请问是怎么回事?怎样解决?
万分感谢!!!
万分感谢!!!
|
int yes = 1; // reuse fix
setsockopt(fd,SOL_SOCKET,SO_REUSEADDR,(char *)&yes,sizeof yes); // reuse fix
注意,参数3值为1。