我的 iOS 应用程序在 IPv6 下运行良好,但连接到 XMPP 是错误的。 Android没有错误

Posted

技术标签:

【中文标题】我的 iOS 应用程序在 IPv6 下运行良好,但连接到 XMPP 是错误的。 Android没有错误【英文标题】:My iOS app worked well under IPv6, but it was wrong to connect to XMPP. The Android didn't has the error 【发布时间】:2017-06-30 09:11:31 【问题描述】:

图片正在测试服务器的域名。我通过5222端口连接XMPP,失败原因:

Error Domain=NSPOSIXErrorDomain 
Code=51 "Network is unreachable" 
UserInfo=
    NSLocalizedDescription=Network is unreachable,
    NSLocalizedFailureReason=Error in connect() function

【问题讨论】:

【参考方案1】:

XMPPStream.m 文件中,转到init 函数,就在行的下方

asyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:xmppQueue];

添加以下行

[asyncSocket setPreferIPv4OverIPv6:NO];

然后聊天将在 IPV4 和 IPV6 中工作

【讨论】:

以上是关于我的 iOS 应用程序在 IPv6 下运行良好,但连接到 XMPP 是错误的。 Android没有错误的主要内容,如果未能解决你的问题,请参考以下文章

当我们执行以下操作时,您的应用程序在运行 iOS 11.1 并连接到 IPv6 网络的 iPad 和 iPhone 上崩溃:

iOS IAP 无法在仅 ipv6 的网络上运行

iOS 应用中支持 IPV6 的 pjsip 2.5.5

在 iPhone 的 iOS 7 中打开相机时横向模式下的方向问题

适用于 iOS 的 RESTKit 和 IPV6

我的应用程序将不再在 Snow Leopard 下运行,在 Lion 下运行良好