我有一些旧代码,它在socket中使用这个标志:
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版本中使用它,所以如果有任何本机功能,那就没关系。
答案 0 :(得分:0)
http://qt-project.org/doc/qt-5.0/qtnetwork/qabstractsocket.html#SocketOption-enum
套接字选项不仅限于UDP数据报。话虽如此,Qt只能在套接字上设置有限数量的选项。实际能够设置的最常见选项。其余的是平台特定的东西。
ASIDE:硬编码的文字,就像你引用的代码一样,是一个很大的禁忌。非便携式和维护的噩梦。无论你做什么,至少要将这些文字改为标准标题中定义的名称。