美文网首页
TCP、UDP提高端口的重用

TCP、UDP提高端口的重用

作者: 烟花繁江尘辗 | 来源:发表于2020-06-06 07:59 被阅读0次
使用setsockopt函数
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
  • sockfd:标识一个套接口的描述字

  • level:选项定义的层次;支持SOL_SOCKET、IPPROTO_TCP、IPPROTO_IP和IPPROTO_IPV6

  • optname:需设置的选项,而有部分选项需在listen/connect调用前设置才有效

  • optval:指针,指向存放选项值的缓冲区

  • optlen:optval缓冲区长度

注意这里使用的optname是SO_REUSEADDR

具体使用如下

  //调高端口的重用性
  int on;
  if (setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(int)) << 0) {
    perror("setsockopt error\n");
    return 0;
  }

  if (bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) == -1) {
    perror("bind error:");
  }
需要在bind之前调用这个函数,这样就不会出现bind:address already in use这个样的错误了

相关文章

  • TCP、UDP提高端口的重用

    使用setsockopt函数 sockfd:标识一个套接口的描述字 level:选项定义的层次;支持SOL_SOC...

  • TCP 与 UDP

    TCP 与 UDP(主要说TCP)TCP/UDP端口号TCP/UDP端口号TCP连接的建立TCP连接的建立发送se...

  • TODO:Golang语言TCP/UDP协议重用地址端口

    TODO:Golang语言TCP/UDP协议重用地址端口 这是一个简单的包来解决重用地址的问题。 go net包(...

  • TCP

    TCP和UDP端口可以重复 TCP/IP协议中端口,范围从0到65535 TCP和UDP的区别 TCP协议需要创建...

  • linux查看正在监听的端口

    netstat -nupl (UDP类型的端口)netstat -ntpl (TCP类型的端口)

  • nginx负载均衡和http代理与tcp-udp代理

    nginx自1.9.0开始提供tcp/udp的反向代理功能 web负载和代理 tcp/udp端口代理

  • 测试udp端口

    业务需要测试udp端口,之前只用telnet测试过tcp的,就研究了下怎么测试udp的 mac上测试udp端口 需...

  • 传输层

    传输层的功能:传输层寻址和端口;无连接服务和面向连接服务 UDP协议:UDP数据报,UDP校验 TCP段:TCP连...

  • 趣谈网络协议听课笔记

    TCP/UDP处于运输层 UDP UDP报文比较简单:主要包含有源端口号和目的端口号。从而也看出UDP简单粗暴,只...

  • swoole学习第三讲(创建udp服务器)

    docker workspace 容器开放9502端口 默认docker开放的端口是tcp协议,如果开放udp端口...

网友评论

      本文标题:TCP、UDP提高端口的重用

      本文链接:https://www.haomeiwen.com/subject/sbenzhtx.html