setsockopt()在调用udp多播时禁用环回时返回255

时间:2015-08-24 11:35:46

标签: c sockets udp ip

我正在调用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.

现在我的理解是它应该在错误时返回-1或者如果成功则返回0。 这是什么255?我在setsockopt函数调用中犯了什么错误吗?

1 个答案:

答案 0 :(得分:0)

编辑:只需将loop_back声明为int

int loop_back = 0;

如果您查看人员指南,setsockopt会返回int