gpt4 book ai didi

linux - 什么时候调用setsockopt?在 bind() 和 connect() 之前?

转载 作者:IT王子 更新时间:2023-10-29 01:14:26 26 4
gpt4 key购买 nike

我继承了一些调用的 TCP 代码:

bind(tcpSocket, (struct sockaddr*)&server_addr, sizeof(server_addr));

在调用之前

setsockopt(tcpSocket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int));

毫不奇怪,这会导致消息:“地址已在使用中”。只需交换调用顺序即可解决问题。

这提出了一个问题:一般来说,是否应该在调用 bind() 之前调用 setsockopt()?在调用 connect() 之前?

最佳答案

SO_REUSEADDR需要在bind()之前设置。但是,并非所有选项都需要在 bind() 之前设置,甚至在 connect() 之前也需要设置。这实际上取决于所设置的特定选项,因此您必须逐个选项地处理它们。

关于linux - 什么时候调用setsockopt?在 bind() 和 connect() 之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25942977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com