问题标签 [ipv6]
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.
ip - 如何计算 IPv6 IP 号码?
我正在使用 MaxMinds 的 GeoIP Lite Country 将 GeoIP 跟踪添加到 WCF Web 服务。一切都适用于他们的 IPv4 数据库,但他们没有提供任何样本来计算 IPv6 IP 号码。我联系了他们,他们说要使用搜索引擎。
有人愿意分享样品吗?任何语言都可以。
c++ - 将 C++ TCP/IP 应用程序从 IPv4 转换为 IPv6。难的?值得麻烦吗?
多年来,我使用 WinSock(路由器、Web/邮件/FTP 服务器等...等)为 Windows 开发了少量 C++ 服务器/客户端应用程序。
我开始越来越多地考虑创建这些应用程序的 IPv6 版本(当然,同时也要保持原始 IPv4 版本)。
问题:
- 我可能会遇到什么陷阱?
- 移植/转换困难吗?
- 转换值得吗?
作为参考(或为了好玩),您可以在我的应用程序核心中窥探IPv4 代码的峰值。
wcf - win7 上的 WCF Duplex net.tcp 问题
我们有一个带有多个客户端的 WCF 服务来安排客户端之间的操作。它在 XP 上运行良好。转到win7,我只能将客户端连接到同一台机器上的服务器。在这一点上,我认为这与 IPv6 有关,但我不知道如何继续。
尝试连接到远程服务器的客户端会出现以下异常:
System.ServiceModel.EndpointNotFoundException:无法连接到 net.tcp://10.7.11.14:18297/zetec/Service/SchedulerService/Scheduler。连接尝试持续了 00:00:21.0042014 的时间跨度。TCP错误码10060:连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应10.7.11.14:18297。---> System.Net.Sockets.SocketException: 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接主机没有响应 10.7.11.14:18297
服务配置如下:
客户端连接如下:
我检查了我的防火墙大约十几次,但我想我可能遗漏了一些东西。试过禁用windows防火墙。我尝试将 localhost 更改为我的 ipv4 地址以尝试远离 ipv6,我尝试删除任何反 ipv6 代码。
不知道这是否意味着什么,但是:
Microsoft Telnet> open 10.7.11.14 18297
Connecting To 10.7.11.14...无法在端口 18297 上打开与主机的连接:连接失败
不幸的是,telnet 测试似乎不是关键。当服务运行时,我已经成功地从本地主机和远程计算机连接到我的服务端口,但是我的客户端无法从远程计算机工作。
似乎并不总是保证连接到本地主机。台式机 (win7/32) 工作,笔记本电脑 (win7/64) 不工作。其他 win7/64 盒子虽然可以工作。也许是由于笔记本电脑上有多个网卡?也没有解释在测试人员的系统上连接失败。
我设置了两台完全禁用 IPv6 的 win7 机器(使用http://support.microsoft.com/kb/929852中的 0xffffffff )。没有帮助。
c# - 将 UdpClient 与 IPv4 和 IPv6 一起使用?
不久前,我创建了一个类来处理我的 LAN 网络程序。我最近将我的一台笔记本电脑升级到了 Windows 7,并发现 Windows 7(或者至少我设置它的方式)只支持 IPv6,但我的桌面仍然回到 Windows xp 时代,并且只使用 IPv4。我创建的类使用 UdpClient 类,目前设置为仅适用于 IPv4。有没有办法修改我的代码以允许发送和接收 IPv6 和 IPv4 数据包?很难废弃类代码,我的很多程序都依赖于这个类。我想保持类接近它的原始状态,所以我不需要修改我的旧程序,只需将旧类切换为更新的类。
感谢您的所有帮助,马克斯
发送:
收到:
c - 如何将链接本地地址绑定到 ipv6 套接字
这个问题可以看作是我之前发的一个姐妹问题。当你想将一个链接本地地址绑定到一个 IPv6 套接字时,你需要设置struct的sin6_scope_id
字段,这是非常繁琐的。sockaddr_in6
我想知道是否有人可以按照良好做法提供解决方案。
networking - 无法绑定到 IPv6 地址
我的 Ubuntu Karmic 系统遇到了一个奇怪的问题。
当我使用 AI_PASSIVE 和 AF_UNSPEC 调用 getaddrinfo() 以获取空主机和 UDP 12000 端口以获取可绑定地址时,我只能返回一个 IPv4 结果(例如0.0.0.0:12000)。
如果我更改调用并指定 AF_INET6 而不是 AF_UNSPEC,则 getaddrinfo() 将返回“名称或服务未知”。
结果我不应该得到[::]:12000吗?
如果我将主机设置为::1也会发生同样的事情。
当我为主机“localhost”和 UDP 12000 端口调用不带 AI_PASSIVE 的 getaddrinfo() (以获取“可连接”地址)时,我首先得到[::1]:12000然后127.0.0.1:12000。
显然,我的系统已准备好 IPv6(我可以 ping 到 IPv4 和 IPv6 地址,以及 DNS 解析)。但是,我怎么无法使用 getaddrinfo() 获得要绑定的 IPv6 地址?
你们有什么想法可能是错的吗?
我的操作系统是 Ubuntu Karmic,全新安装,无需任何网络调整。
谢谢你。
PS:如果您不知道但仍想帮助我,可以获取此示例程序或键入:
并给我以下结果:
$ ./gai -ap null 12000
我的结果是:
$ ./gai -ap null 12000
getaddrinfo(NULL, "12000", {.family=AF_UNSPEC, .hints=0|AI_ADDRCONFIG|AI_PASSIVE}) = 0:
家庭= 2,原型= 6 inet4:地址= 0.0.0.0,端口= 12000
在那里你可以看到我只有一个 IPv4 结果。
c++ - 用 gethostbyname 替换 IPv6 地址
我有一个程序使用 gethostbyname(在 Windows 中)将 IP 地址转换为主机名。
但是,它仅适用于 IPv4...
IPv6 的正确替代品是什么?
谢谢。
php - PHP 中的 REMOTE_ADDR 和 IPv6
假设$_SERVER['REMOTE_ADDR']
总是返回IPv4 地址是否安全?
谢谢!
python - 将 IPv4 或 IPv6 地址转换为 long 以进行比较
为了检查 IPv4 或 IPv6 地址是否在某个范围内,我有一个代码,它采用 IPv4 地址,将其转换为 long,然后在子网的上限/下限上进行相同的转换,然后检查看看 long 是否在这些值之间。
我希望能够为 IPv6 做同样的事情,但在 Python 2.6 标准库中没有看到允许我这样做,所以我写了这个:
我的问题是:有没有一种我想念的更简单的方法来做到这一点?是否有标准库调用可以为我做到这一点?
php - PHP禁用ipv6
似乎我需要在我的 php 页面上以某种方式禁用 IPv6,但我不确定如何执行此操作。我想我必须在我的 INI 文件中的某处添加 --disable-ipv6 ......但这看起来不像是正确的语法。
我正在尝试解决以下错误: http ://bugs.php.net/45519
有谁知道把这个放在哪里?