我需要在带有参数的golang中调用IP_ADD_SOURCE_MEMBERSHIP。这是我的代码
s := "239.195.140.6 0.0.0.0 91.203.255.242"
err = syscall.SetsockoptString(socket, syscall.IPPROTO_IP, syscall.IP_ADD_SOURCE_MEMBERSHIP, s)
但是它抛出无效的参数错误
什么是正确的制作方法?
最佳答案
man 7 ip
表示IP_ADD_SOURCE_MEMBERSHIP
应该采用ip_mreq_source
结构,但是通过使用SetsockoptString
,您却给了它一个字符串。我看不到Setsockopt
的变体传递正确的结构,因此,如果您想在Go中执行此操作,则必须自己编写一些低级粘合代码。
关于linux - 在golang中使用IP_ADD_SOURCE_MEMBERSHIP调用SetsockoptString时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62284300/