Socket API 中的地址复用 服务器端尽可能使用SO_REUSEADDR,在绑定之前尽可能调用setsockopt来设置SO_REUSEADDR套接字选项。该选项可以使得不必等待TIME_WAIT状态消失就可以重启服务器.SYNOPSIS
#include /* See NOTES */
#include
int...
分类:
其他好文 时间:
2014-12-02 22:36:18
阅读次数:
273
选项 public final static int TCP_NODELAY = 0x0001; public final static int SO_REUSEADDR = 0x04; public final static int SO_LINGER = 0x0080; ...
分类:
编程语言 时间:
2014-11-06 01:55:53
阅读次数:
294
1、setsockopt()作用及简介socket关闭之后并不会立即收回,而是要经历一个TIME_WAIT的阶段。此时对这个端口进行重新绑定就会出错。要想立即绑定端口,需要先设置SO_REUSEADDR.或者在closesocket的时候,使用setsockopt设置SO_DONTLINGER。才会...
分类:
系统相关 时间:
2014-10-17 00:22:43
阅读次数:
366
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));...
分类:
其他好文 时间:
2014-10-11 13:54:35
阅读次数:
179
#!/usr/bin/pythonimportpycurlimportsocketimporttimedefwork_socket():s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)s.bind((‘10.67.15.96‘,9999))s.listen(10)s.setblocking(0)s.settimeout(10)conn,addr=s.ac..
分类:
其他好文 时间:
2014-09-29 18:00:21
阅读次数:
576
服务端去给客户端发指令,告诉客户端我curl完了,客户端也就是rsyslog服务端#!/usr/bin/pythonimportpycurlimportsocketimporttimedefwork_socket():s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)s.bind((‘10.67...
分类:
其他好文 时间:
2014-09-23 13:22:14
阅读次数:
223
建立TCP服务器步骤:建立socket对象,设置socket选项,绑定到一个端口,侦听连接。一、建立连接。s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)二、设置选项(可以不用)s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)具体选项可看socket(7)手册三、绑定端口s..
分类:
其他好文 时间:
2014-09-12 02:27:03
阅读次数:
140
之前一直没明白setsockopt的作用。原来是用来设置socket的属性。setsockopt设置SO_REUSEADDR。socket关闭之后并不会立即收回,而是要经历一个TIME_WAIT的阶段。windows下最多可以达到4分钟。所以在这个时候对这个端口进行重新绑定就会出错。所以需要先设置S...
分类:
其他好文 时间:
2014-08-07 22:43:05
阅读次数:
375
遇到如题的问题,google了一番,找到了解决方法,写下来备用问题:udp发送数据时候报错sendto error : Permission denied改正方法:在创建了套接字后,加上下列代码:int on=1; setsockopt(sock,SOL_SOCKET,SO_REUSEADDR | ...
分类:
其他好文 时间:
2014-07-12 16:01:00
阅读次数:
222
网络上关于SO_REUSEADDR套接字选项用来解决地址重用问题的资料不少,但只停留在文字表达上,并没有实例,很容易误导初学者,并产生疑惑,此处不再赘述。下面通过一个简短的例子来展示如何在项目中合理的使用该选项,以及需要注意的问题。
关于TCP断开连接四次握手,如图所示
应用场景:
之前项目中遇到一个问题,聊天服务器的开启,关闭和重启,例如将服务器...
分类:
其他好文 时间:
2014-07-08 10:34:25
阅读次数:
316