linux - 在golang中使用IP_ADD_SOURCE_MEMBERSHIP调用SetsockoptString时出错

标签 linux go system-calls

我需要在带有参数的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/

相关文章:

linux - 是否有用于估计压缩后文件大小的实用程序?

java - 安装 Apache Tomcat

go - Golang 结构体名称和类型后面的字符串是什么?

linux - 如何用utimes来实现futimes?

linux - 如何将选项传递给挂载系统调用?

php - 无法编译 mcrypt(配置失败 : mhash_keygen in -lmhash. .. 否)

node.js - cc1.exe : sorry, 未实现:64 位模式未在退出状态 2 退出状态 1 中编译

函数名称前带有下划线的结构标记

c - C 中使用 read() 系统调用读取字符串

linux - 在 Vim 中访问 Bash 脚本的返回值