关于linux socket 编程 端口复用的理解

来源:互联网 发布:java 构造器 构造方法 编辑:程序博客网 时间:2024/05/17 09:15
在linux socket网络编程中,大规模并发TCP或UDP连接时,经常会用到端口复用:
 
            int opt = 1;
            setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (const void *) &opt, sizeof(opt));
那么什么是端口复用呢,如何理解呢,可以解释成如下:
           在A机上进行客户端网络编程,加入它所使用的本地端口号是1234,如果没有开启端口复用的话,它用本地端口1234去连接B机再用本地端口连接C机时就不可以,若开启端口复用的话在用本地端口1234访问B机的情况下还可以用本地端口1234访问C机。若本地编程bind的本地端口号时0表示由系统分配端口,并开启端口复用的话表示系统分配的该端口号开启了复用。
若是服务器程序中监听的端口,即使开启了复用,也不可以用该端口望外发起连接了。
0 0
原创粉丝点击