发送UDP数据包时"Invalid argument",但是哪个呢?
"Invalid argument" when sending UDP packet, but which?
我的c++应用程序将二进制数据作为UDP数据包发送。sendto()调用返回EINVAL(无效参数),但我没有看到我传递的参数有任何问题。
我做了一个应用程序的概要,下面是相关的系统调用:
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 33
setsockopt(33, SOL_IP, IP_RECVERR, [1], 4) = 0
fcntl(33, F_SETFD, FD_CLOEXEC) = 0
bind(33, {sa_family=AF_INET, sin_port=htons(1510), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
sendto(33, "20555 1 120 t c300Ny274B10*206H206367r25 200200331'344272322362sD2773123002324022421216201 22", 55, 0, {sa_family=AF_INET, sin_port=htons(1510), sin_addr=inet_addr("219.132.100.190")}, 16) = -1 EINVAL (Invalid argument)
有人看到哪个参数无效吗?
应用程序最近已经移植到支持IPv6,但我不知道这是否有任何关系。
您将套接字绑定到本地地址127.1,但您正在发送到非本地主机地址。我需要检查一下,但也许EINVAL的意思是"您不能将127.1数据包发送到主机外"。
相关文章:
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 如何使用发送数据包所花费的时间计算两个节点之间的距离?
- 发送固定大小的 UDP 数据包
- pcap_handler回调仅在使用 NPCAP v0.9991 时包含空数据包
- 在 c++ 中解析数据包数据的最佳方法是什么?
- 接受函数在发送数据包时等待
- 如何在 omnet++ 中发送自定义数据包?
- 数据包访问实践
- 在C++中创建一个简单的数据包路由器,如何跟踪"客户端"?
- 德拉吉诺 LG01-S 收到异常数据包并停止工作
- 将数据包从C++服务器发送到NodeJs服务器时出现MessagePack解码错误
- 使用C++将UDP数据包存储在Structure中
- FFmpeg av_read_frame从音频流返回数据包
- 为什么操作系统正在更改我的数据包的指定传出端口
- 是否可以将多个结构作为一个数据包存储在一个函数中,然后传递给其他函数并在那里提取?
- recvfrom 只收到几个数据包,之后它进入等待状态
- 如何调试由 C++ 编写的 npm 数据包
- 如何在INET的应用层中发送广播数据包
- C++ 将字符串数据包转换为 iphdr语言 - 字符串数据包的格式应该是什么?
- 发送UDP数据包时"Invalid argument",但是哪个呢?