问题标签 [sockaddr]

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 回答
818 浏览

swift - IPv6的Swift getnameinfo结果不可靠

我有以下扩展sockaddr

在我的代码的另一部分中,我正在调用getifaddrs以获取当前设备的接口地址。上面的代码适用于 IPv4,但对于 IPv6 来说有些不可靠。

我得到如下结果:192.168.1.10fe80::e0fa:1204:100:0

当我将线路更改var result: String = ""var result: String? = nil. IPv6地址突然变成fe80::了,剩下的就被切断了。

更奇怪的是,当我像这样切换var result和行时var me = self

然后该功能将仅适用于 IPv4 地址。将getnameinfo返回 4(失败)。

这是在调试期间,没有我知道的优化。如果我在模拟器或真实设备上运行它并不重要。

有人可以解释为什么会这样吗?

0 投票
0 回答
695 浏览

swift3 - Swift 3 - 迁移错误无法转换“sockaddr”类型的值

我正在尝试将 OSC 库从 swift 2 转换为 swift 3。我只剩下两个无法解决的错误。错误在下面的代码中。

错误由下式给出UnsafePointer

错误1:

无法将“sockaddr”类型的值转换为预期的参数类型“UnsafePointer!”

错误2:

'init' 不可用:使用 'withMemoryRebound(to:capacity:_)' 临时将内存视为另一种布局兼容类型。

如何修复这两个错误并将它们转换为 swift 3?

0 投票
0 回答
420 浏览

c - 如何在Windows中的c中从字符串转换为sockaddr

我是 C 新手,正在尝试从.csvexcel 表中读取 IP 地址并将它们分配给sockaddr. 我有以下代码,但它不工作。

编辑:调试显示分配后 S_addr 的值为3435973836的 IP 地址为“192.168.137.1”

如果重要的话;令牌被声明为char *token;

更换

InetPton(AF_INET, PTSTR(token), &ip4addr.sin_addr);

WSAStringToAddress((LPWSTR)(token), AF_INET, NULL, (LPSOCKADDR)&ip4addr, &addrSize);

也给出了相同的结果。

0 投票
0 回答
46 浏览

c - 为什么 sockaddr_in 和 sockaddr 都不兼容?

我尝试在 *ai(struct addrinfo) 中存储 ipv4 地址

所以,我需要验证我是否被正确分配。我使用这段代码:

但是,ipAddress 和 ai->ai_addr 不匹配!!如果您知道如何分配这些结构,请帮助我。谢谢。

0 投票
1 回答
2717 浏览

python - thrift.transport.TTransport.TTransportException:无法解析主机 Pyhive 和 Python 的 sockaddr

我写了这段代码。我收到了这个错误:

thrift.transport.TTransport.TTransportException:无法解析主机的 sockaddr。

我使用库,tweepy,pyhive

0 投票
2 回答
97 浏览

c++ - 删除并投射。将删除免费的正确数量的字节吗?

将删除免费的字节数吗?

0 投票
3 回答
162 浏览

c++ - 在套接字编程中强制转换 sockaddr 违反 MISRA C++ 2008 规则 5-2-7

对于套接字编程,有两种处理地址的基本结构:struct sockaddr_insockaddr。根据man的说法,“这个结构 [ sockadrr ] 的唯一目的是转换在 addr 中传递的结构指针,以避免编译器警告”每个手册、书籍或程序员上的代码片段都会假设一个函数需要一个 struct sockaddr * 您可以轻松安全地将 struct sockaddr_in* 转换为该类型。

来自 man 绑定的示例

问题是这种转换违反了 MISRA C++ 2008 规则 5-2-7 违规:具有指针类型的对象不应直接或间接转换为不相关的指针类型。

我想知道的是,为了克服这个问题(我相信有很多人在使用套接字和 MISRA)总是有必要证明规则的偏差是合理的?实际上没有其他选择吗?

相关问题解释了对 sockaddr 的转换是如何完成的:

套接字编程,将 sockaddr_in 转换为 sockaddr。为什么?

sockaddr 和 sockaddr_in 之间的转换

类型转换 sockaddr 结构

0 投票
1 回答
50 浏览

c - 在struct“sockaddr_in”中,成员前缀“sin”代表什么?

在 sockaddr_in 结构中,每个成员都有一个“sin”前缀。这些前缀代表什么?

在此处输入图像描述