我继承了一些调用的 TCP 代码:
bind(tcpSocket, (struct sockaddr*)&server_addr, sizeof(server_addr));
在致电之前
setsockopt(tcpSocket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int));
毫不奇怪,这会导致消息:“地址已在使用中”。只需交换调用顺序即可解决问题。
这就提出了一个问题:一般来说,是否应该在调用 tosetsockopt()
之前进行任何调用bind()
?打电话之前connect()
?