已经在使用的地址... C中的套接字

Mic*_*ook 0 c++ sockets linux

之前已经问过这个问题,但我似乎无法理解它,因为我见过的所有问题的细节都让我失望......

我一直有问题,当我建立一个TCP套接字服务器时,端口变得无法使用X大量时间如果我建立连接(如果没有与客户端建立连接,我可以在终止后重新运行程序而没有问题) .这显然与TCP在丢弃连接之前需要的超时有关.

我在服务器和客户端的套接字上使用close(socketfd)并没有占上风...有没有办法使套接字可以在成功终止后立即使用(如在fd中关闭,无需等待)什么似乎永远或重启机器?

unw*_*ind 5

是的,调用相关的套接字选项SO_REUSEADDR.您setsockopt()用来设置套接字选项.

您通常不应该关闭服务器的主套接字,而应该使用accept()创建每个客户端套接字,可以在客户端断开连接时关闭它们.