端口重用

当某个端口已经被一个程序占用了,我们如果想直接绑定我们的socket到这个端口是不行的。一般的做法是选用一个备用的端口,或者是等那个程序退出。其实我们还有另一种做法,叫做端口重用。这种技术,其实有点走邪派路线了。换句话说,正规程序一般不用这种技术。因为这种重用势必会影响到原来的程序。但是你如果不在意原来的程序,或者你的本意就是要影响原来的程序,那就去做吧~

SOCKET sk;
BOOL opt=1;
int len=sizeof(opt);

sk=socket(AF_INET,SOCKET_STREAM,0);
setsockopt(sk,SOL_SOCKWT,SO_REUSEADDR,&opt,len);

或:
SOCKET sk;
int opt=1;
int len=sizeof(opt);

sk=socket(AF_INET,SOCKET_STREAM,0);
setsockopt(sk,SOL_SOCKWT,SO_REUSEADDR,(char*)&opt,len);

这种设置socket来实现重用的技术在windows下显得非常简单.



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 10201