我继承了一些调用以下TCP代码:
bind(tcpSocket, (struct sockaddr*)&server_addr, sizeof(server_addr));
在调用之前
setsockopt(tcpSocket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int));
毫不奇怪,这会导致出现“地址已在使用”的消息。只需要交换调用的顺序就可以解决问题。
这引发了一个问题:通常,在调用bind()之前应该先调用setsockopt()吗?还是在调用connect()之前?