将& mreq参数传入setsockopt方法时收到错误

时间:2015-11-25 05:15:10

标签: c++ network-programming multicast

我想向从网络主机接收数据的组添加套接字。页面http://www.tldp.org/HOWTO/Multicast-HOWTO-6.html清楚地解释了如何使用套接字选项IP_ADD_MEMBERSHIP和ip_mreq数据结构来获取它。所以我创建了我的ip_mreq数据结构(我调用我的实例mreq)并填写其属性imr_multiaddr和imr_interface,但是当我将值& mreq传递给optval参数时,我得到错误:

错误:类型' ip_mreq *'的参数与' const char *'

类型的参数不兼容

但是为什么这个参数需要' const char *',当我后面的指南指出参数应该是' cont void *'时。在此问题之前,我遇到了ip_mreq数据结构未定义的问题,但我通过导入Ws2ipdef头库解决了这个问题。我认为问题可能是我导入了错误的库,或者我可能需要导入一个额外的库。

此外,我正在使用可视化基础在C ++中编写我的解决方案。

谢谢

1 个答案:

答案 0 :(得分:1)

  

但是为什么这个参数需要&#39; const char *&#39;,当我后面的指南说明参数应该是&#39; cont void *&#39; < / p>

因为setsockopt()用于除IP_ADD_MEMBERSHIP之外的许多套接字选项。

你必须施展。

NB任意互联网资源不是规范性参考。