问题标签 [sockaddr-in]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1966 浏览

swift - 从 Swift 中的 sockaddr_in 结构中获取 IP 地址和端口号?

经过多次试验和错误,但没有任何成功,看来我可能需要一些帮助:

如何在最新版本的 Swift 中从 sockaddr_in 获取 IP 地址和端口号?

我看到了一些相关的问题,但似乎在任何地方都找不到合适的例子。此外,我似乎并没有真正理解在 Swift 中需要如何处理 C 类型的结构和指针,这并没有真正的帮助。

谁能给我一个例子或有用资源的链接?

提前谢谢了!

0 投票
2 回答
3468 浏览

sockets - bind() - 如何在同一个套接字上多次调用 bind()

我在已将端口值设置为 0 的地址上使用 bind()。我知道通过这种方式,它将随机端口绑定到该地址。但我只想要值 x 的端口,使得 (x >= 0 && x <= 1023) || (x >= 49152) 被选中,但我注意到,在可以选择的随机端口中,也有端口 > 49152 。但是,如果我重新调用 bind() ,它会给出错误:无效参数。如何在没有给出无效参数错误的情况下重新调用 bind() 函数,或者如何以另一种方式解决此问题?提前非常感谢。

0 投票
1 回答
113 浏览

winapi - 为什么我从 QOSStartTrackingClient 方法收到 67 码?

67从下面的代码中收到错误代码,这意味着ERROR_BAD_NET_NAME.

为什么会这样?我该如何解决?

0 投票
1 回答
47 浏览

linux - 失败的 accept() 上 sockaddr 的状态是什么

手册页不包含在发生错误时通过引用传递给 accept() 函数的 sockaddr 变量的状态。

是否可以安全地假设,如果在客户端连接到您接受它的时间之间出现问题,导致 accept() 的返回值小于 0,sockaddr 结构仍然被填充并且 IP 信息是有效的?

0 投票
0 回答
65 浏览

c++ - 试图从 const sockaddr 获取 ipv4

我正在尝试从 const sockaddr 获取 ipv4,但我不确定如何处理它?

0 投票
2 回答
845 浏览

c - 如何在不违反严格的别名规则的情况下合法地使用带联合的类型双关在 struct sockaddr 的变体之间进行转换?

POSIX 打算将指针指向可转换的变体struct sockaddr,但是根据 C 标准的解释,这可能违反了严格的别名规则,因此违反了 UB。(请参阅此答案及其下方的评论。)我至少可以确认 gcc 至少可能存在问题:此代码Bug!在启用优化和Yay!禁用优化的情况下打印:

在在线 IDE上观察此行为。

要解决此问题,此答案建议使用带有联合的类型双关语:

然而,显然事情并没有看起来那么简单……引用@zwol 的评论

可以工作,但需要相当小心。超出了我可以放入此评论框的内容。

它需要什么样的照顾?使用带有联合的类型双关语在 的变体之间进行转换的陷阱是什么struct sockaddr

我宁愿问也不愿遇到 UB。

0 投票
1 回答
493 浏览

android - getsockname 返回 -1,errno 是 EBADF?

程序运行到getsockname返回 -1 和errno9 的地方(EBADF,坏文件描述符)。但是,Android 应用程序中检测的代码运行良好。

0 投票
2 回答
1951 浏览

c - C sockaddr函数调用sendto?

我目前正在为学校作业设置 UDP 套接字,但我不知道如何正确地将 sockaddr 作为参数发送到函数中。SendData 的输入参数的定义方式与它们在 sendto 函数中的定义方式相同。

当从 main 调用下面的代码时,它可以工作,但是当从 SendData 调用它时,sendto 的返回值为-1。

如果程序已编译,我会收到警告:从不兼容的指针类型传递“recvfrom”的参数 5。在 SendData 中的 sendto 函数调用上。我的主程序中对 SendData 的函数调用是:SendData(sockfd, (struct sockaddr *) &destAddrUdp, buffer);

相关的主程序:

0 投票
0 回答
90 浏览

c - C - Mavlink 程序:sendto 失败并在连接到无人机时返回 EINVAL

我正在尝试使用 Parrot 开发的 mavlink 示例来控制使用 mavlink 协议的 Bebop2(链接在这里)。

为了向无人机发送消息,他们使用了 sendto 功能,但我遇到了一个我无法解决的问题:每次我尝试使程序正常工作时,我都会收到一个错误,经过一番调查,我发现它是'此代码中使用的sendto'(在mavlink_comm_send_msg函数中)返回EINVAL错误类型(代码位于src目录中的mavlink_comm.c文件中):

我查看了其他相关帖子并尝试了几件事来使其工作,但没有一个成功。演员表似乎是正确的,我验证了 dest_len论点,所以我很迷茫。

非常感谢你的帮助。

0 投票
1 回答
891 浏览

c++ - 比较 ipv4 地址 - sockaddr_in

我想知道某个地址是否在 10.0.0.0 - 10.255.255.255 范围内。

我的地址 11.0.0.0 大于 10.255.255.255 但这个程序显示它不是。

因为“address.sin_addr.s_addr”的值为 11,而“localOneFirst.sin_addr.s_addr”的值更大。

那么如何识别某个地址是否在此范围内?