TCP、UDP提高端口的重用

2020-06-06  本文已影响0人  烟花繁江尘辗
使用setsockopt函数
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
注意这里使用的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这个样的错误了
上一篇 下一篇

猜你喜欢

热点阅读