- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 UDP 进行“recvfrom”和“sendto”调用。我有一个客户端,仅在端口 6000 上广播 UDP 数据包。我有一个服务器,它在端口 6000 上绑定(bind)一个套接字,并执行一次 recvfrom。
问题是从recvfrom返回的struct sockaddr的sin_port成员总是不正确的。为什么?
我会发布一些源代码,但有人已经发布了这个问题(没有答案),我使用的代码几乎与他相同。此外,您可以阅读他的帖子获得有关此问题的更多信息:FORUM POST .
提前致谢
编辑:我真的认为“nos”答案中的“原因2”可能是问题所在。我该如何检查?
最佳答案
以下是 2 个可能的原因:
在检查/显示它之前,您没有将 sin_port 转换为主机顺序。 sin_port 采用网络字节序。也就是说,您可能会在小端机器上将端口显示为大端。
您的客户端使用随机源端口。因此,当您的目标端口为 6000 时,客户端的源端口是随机选择的。 recvfrom 为您提供源 IP 地址和源端口号。不是目的港。
如果不是这些,请提供一些相关的测试代码,以及您看到的实际值。有可能你例如有一些缓冲区溢出,或者其他可疑的事情发生。
编辑,查看链接中的代码,您将缓冲区大小(udpPkg.udpRecvBuf)硬编码为1024。缓冲区真的至少有1024大吗?如果没有,您可能会溢出 udpPkg.udpRecvBuf
。
关于c - UDP recvfrom 调用返回错误的端口号。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3357498/
我想通过 jQuery 在每个页面上用图像(HTML)替换特定的口号(文本),电子邮件地址中的口号除外。 首先我尝试了这个,但问题是它输出的是文本而不是 HTML jQuery("p").text(f
我是一名优秀的程序员,十分优秀!