问题标签 [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 回答
1285 浏览

ios - SCNetworkReachabilityCreateWithAddress 中的零 sockaddr_in 是什么意思?

tonymillion 的可达性有

和 AFNetworkReachabilityManager 有

这意味着两者都建议这是检查互联网连接的正确方法。

但我认为只关心我们连接到 Wifi 路由器,它不关心 Wifi 路由器是否可以访问互联网,对吧?

有人在如何以非阻塞方式检查 iOS 上的网络可达性?

第一个测试它是否可以访问 google.com,而第二个只是检查是否有任何可能的互联网连接(它认为存在,即使有数据包丢失)。

是真的吗?

0 投票
0 回答
780 浏览

c++ - c ++映射和struct sockaddr_in复制值并使用sendto

好的,所以我有一个问题,当我尝试从我的地图中获取 struct sockaddr_in 并使用 tmp var 然后使用方法 sendto 通过套接字发送 stuct sockaddr_in 时。

在我调用 recvfrom 之后,我将 struct sockaddr 放入我的地图中,并以名称为键。然后,当我尝试在另一个请求中再次获取该地址时,我会这样做。

然后我尝试打印出这张地图中的内容,我得到一个段错误 11。这是我用来打印的代码。

任何帮助将不胜感激。我对 c++ 不好,可能有不好的参考。

谢谢大家!!!!

0 投票
2 回答
7047 浏览

c++ - 想要评估两个 sockaddr_in 结构之间的比较

目前我正在构建一个对等网络架构,并且正处于创建一个接收功能的阶段,该功能将接收来自网络上多个客户端的消息。本质上,当调用 recvfrom 函数时 - 最近向主客户端发送消息的客户端的地址被加载到名为 fromAddr 的 sockaddr_in 结构中。然后,该程序被设计为遍历包含客户端类的多个实例的向量(每个实例都包含代表网络上客户端的必要信息和功能),并找到其 sockaddr_in 结构与刚刚接收到的匹配的客户端实例信息。在程序中,当前的评估如下所示:

程序编译时报如下错误:

错误 3 错误 C2678:二进制“==”:未找到采用“IN_ADDR”类型的左侧操作数的运算符(或没有可接受的转换)

正如可能推断的那样,我还尝试通过简单地比较两个 sockaddr_in 结构本身来评估表达式:

哪个报告相同的错误。问题是:如果没有创建一个带有重载运算符函数的 sockaddr_in 类来允许您评估表达式,那么实现这种比较的最简单方法是什么?

0 投票
1 回答
271 浏览

c - 调用 getaddrinfo() 后 sockaddr 值意外更改

我正在编写一个 UDP 客户端。我想将套接字绑定到客户端计算机上的给定端口,以便始终将同一端口用于所有发送。我使用 getaddrinfo 获取服务器的 sockaddr,并执行相同的操作来获取传递给 getaddrinfo 调用的 sockaddr。但是,在第二次调用 getaddrinfo 之后,服务器机器的地址发生了变化,我最终将数据包从客户端机器发送到客户端机器本身。

以下代码是重现错误的独立示例:

在我的机器上执行这个程序产生的输出是:

我对 C 中的套接字编程相当陌生,并且很确定我犯了一些愚蠢的错误,但是在谷歌搜索了很多东西并尝试了很多事情之后,我仍然坚持这一点。任何想法?

0 投票
2 回答
1473 浏览

network-programming - 是否有将 sockaddr_in 转换为 sockaddr_in6 结构的 C 函数?

我想使用规范化的 IP 地址将数据保存在数据库中。

此时,该软件可能会获得 IPv4 或 IPv6 地址。我想通过将所有地址转换为 IPv6 地址来规范化。

我知道inet_pton()将字符串转换为二进制地址。所以我可以用 IPv6 试一次,如果失败,用 IPv4 再试一次:

所以,我正在寻找一个函数,比如inet_convert_ipv4_to_ipv6(&sa4, &sa);将. 我们在 C 库中有这样的吗?sockaddr_insockaddr_in6

如果我们没有这样的功能,解决方案是使用 '::ffff:' 介绍器,如下所示:

我希望我们有办法将 IPv4 转换sockaddr_in为 IPv6sockaddr_in6函数。我认为它会更干净......我认为最后一段代码不是 100% 安全的(我想我可以先测试 IPv4 转换,如果成功,然后使用 IPv6 转换使其安全。真是浪费不过时间!)

0 投票
1 回答
2015 浏览

c++ - C++ [UDP] 如何跟踪服务器上所有已连接的(客户端)套接字连接?

我的服务器应该将收到的消息转发给所有连接的客户端,但我的代码只能将消息发送回发件人。

0 投票
1 回答
480 浏览

c++ - 关于将 ip 传递给 sockaddr_in 结构

为什么当我们制作客户端程序时,我们会像这样传递要连接的主机的 ip:

但这不起作用:

但是当我们制作一个服务器程序时,它可以工作:

0 投票
1 回答
736 浏览

swift3 - Swift 3 - CFHostScheduleWithRunLoop 崩溃

我在 Swift 中做一个反向 DNS,我之前在 Swift 2.2 上的代码运行良好,而且我已经在 Objective-C 中实现了它并且它可以运行。但是我无法让它在 Swift 3.0 中工作

斯威夫特 2.2

斯威夫特 3.0

当我运行此代码时,它崩溃了

CFHostScheduleWithRunLoop

任何想法?

0 投票
2 回答
4650 浏览

c - sockaddr.sin_port = 1337 与“真实”打开的端口不匹配

我正在尝试制作一个非常简单的服务器来接受连接。

但是,当尝试连接到 127.0.0.1:1337 时,我收到一条连接被拒绝的消息:

(未知)[127.0.0.1] 1337(?):连接被拒绝

然而,一个简单的netstat -tcpan例子告诉我一个端口确实是打开的:

tcp 0 0 0.0.0.0:14597 0.0.0.0:* 听

如果我将 sin_port 设置为更高的端口,它似乎可以正常工作。

我在这里想念什么?为什么1337端口没有打开?好像也是免费的。

0 投票
1 回答
430 浏览

c - 无法将 IP 地址从字符串复制到 sockaddr_in

我正在尝试将 IP 地址从字符串复制到 struct sockaddr_in 但不知何故弹出了一些错误。

上述代码的输出显示:

ip从我无法弄清楚的字符串中复制值时存在一些错误。可能是什么原因?