【发布时间】:2016-12-13 10:16:09
【问题描述】:
当我们将 .net Socket 环境编写的项目上传到 iOS 应用商店时,我们会收到以下拒绝。
在通过连接到 IPv6 网络的 Wi-Fi 运行 iOS 10.2 的 iPad 上进行审查时,我们仍然在您的应用中发现了一个或多个错误。
这是我们的客户端套接字连接
Socket = new Socket (AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
Socket.BeginConnect (ip, port, new AsyncCallback (ConnectionComplete), null);
服务器连接代码是这样的
Socket = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Socket.Bind (new IPEndPoint (ip, port));
因为我们的游戏将在 android 和 iOS 平台上可用。所以服务器连接是ipv4。我们非常感谢您在这件事上提供的帮助。谢谢!
【问题讨论】:
-
您的应用程序中是否有服务器的 IP 地址或 DNS 名称。您应该使用 DNS 名称。您是否在仅 iov6 的网络上进行过测试?
-
感谢您的回答。我们现在正在测试你的。
-
您无法将 IPv6 客户端套接字连接到 IPv4 服务器套接字,但这正是您尝试做的。服务器需要侦听 IPv6 才能接受 IPv6 客户端。通常,您可以创建一个在双栈模式下运行的 IPv6 服务器套接字,以便它可以接受 IPv4 和 IPv6 客户端。
-
你好。感谢你的回答。如何创建可以同时接受 IPv4 和 IPv6 客户端的 IPv6 服务器套接字?