0

我有一些旧代码,它们在套接字中使用这个标志:

unsigned char str_optval [8] = {0xfc, 0x08, 0xff, 0x33, 0xcc, 0xff, 0xaa, 0x0};
res=setsockopt(sid,SOL_IP,IP_OPTIONS, (char*)&str_optval,sizeof(str_optval));

如何更改此位置以使用 QUdpSocket?我在 QUdpClass 中找不到任何模拟 setsockopt。QAbstractSocket 提供 setSocketOption,它只允许 4 个变体标志(枚举)。我只在 linux 版本中需要它,所以如果有任何原生 func 就可以了。

4

1 回答 1

0

http://qt-project.org/doc/qt-5.0/qtnetwork/qabstractsocket.html#SocketOption-enum

套接字选项不限于 UDP 数据报。话虽如此,Qt 只能在套接字上设置有限数量的选项。实际能够设置的最常见选项。其余的是平台特定的东西。

旁白:硬编码文字,就像你引用的代码一样,是一个很大的禁忌。非便携式和维护的噩梦。无论您做什么,至少将这些文字更改为标准标题中定义的名称。

于 2014-03-21T19:26:07.573 回答