调用 setsockopt() returns 255 以禁用 udp 多播中的环回
setsockopt() returns 255 when it is called to disable loopback in udp multicast
我正在调用 setsockopt 函数,如下所示,以关闭我从服务器发送到客户端的相同数据报的环回。
char loop_back = 0;
if((loop_back_flag = setsockopt(sock, IPPROTO_UDP, IP_MULTICAST_LOOP, (char *)&loop_back, sizeof(loop_back))) == -1)
{
// Print Error message
}
else
{
// print success message with loop_back_flag value
}
但我观察到的是:当我打印 loop_back_flag 时,它打印为 255。
现在我的理解是它应该 return -1 错误或 0 如果成功。
这是什么255?我在 setsockopt 函数调用中犯了什么错误吗?
编辑:只需将 loop_back
声明为 int
int loop_back = 0;
如果您查看 man 指南,setsockopt
return 一个 int
我正在调用 setsockopt 函数,如下所示,以关闭我从服务器发送到客户端的相同数据报的环回。
char loop_back = 0;
if((loop_back_flag = setsockopt(sock, IPPROTO_UDP, IP_MULTICAST_LOOP, (char *)&loop_back, sizeof(loop_back))) == -1)
{
// Print Error message
}
else
{
// print success message with loop_back_flag value
}
但我观察到的是:当我打印 loop_back_flag 时,它打印为 255。
现在我的理解是它应该 return -1 错误或 0 如果成功。 这是什么255?我在 setsockopt 函数调用中犯了什么错误吗?
编辑:只需将 loop_back
声明为 int
int loop_back = 0;
如果您查看 man 指南,setsockopt
return 一个 int