当前位置: 技术问答>linux和unix
如何设置linux下socket的2MS超时(会者不难的简单问题)????
来源: 互联网 发布时间:2016-05-14
本文导语: 我在Fedora 下写了一个基于tcp通信的服务器程序,出现一个问题就是: 程序与客户端建立连接开始正常通信,这时我把服务器程序停止再重新启动就启动不起来,提示服务器端口绑定失败。 查了一下资料发现是因为TCP协议中...
我在Fedora 下写了一个基于tcp通信的服务器程序,出现一个问题就是:
程序与客户端建立连接开始正常通信,这时我把服务器程序停止再重新启动就启动不起来,提示服务器端口绑定失败。
查了一下资料发现是因为TCP协议中的一个2MSL等待造成的,解决方法是在建立socket时做如下设置:
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char*)&reuseraddr, sizeof(reuseraddr));
我已经对此进行了设置,但是不起作用啊 ,请问这是怎么回事呢?
|
call socket() to create a socket
call setsockopt() to enable reuse attribute
call bind() to bind this socket to a address
call listen() to listen client connect request
call setsockopt() to enable reuse attribute
call bind() to bind this socket to a address
call listen() to listen client connect request