cocos2dx ipv6处理

随着苹果要求所有提交到App Store的应用必须支持IPv6,开发者面临挑战。本文介绍了如何应对这个问题,从了解IPv6基础知识开始,到搭建IPv6测试环境,再到探讨cocos2d-x在IPv6网络下的socket创建与连接。同时提供相关资源链接以供参考。
摘要由CSDN通过智能技术生成

2016年6月1日,苹果出台新政策,要求所有提交Apple Store渠道的包必须要支持IPv6。这昂无疑让很多人心头一凉。
果然在这几天很多公司的产品都被打回来了。我们公司也不例外,提交了几个包,只有一款侥幸逃过一劫,其它全部被打回。
碰到这种问题,第一时间就去调查了下,首先肯定是去构建一个ipv6网络测试。面临着一大堆的问题,这个是客户端还是服务端的问题?如果是服务端的问题,怎么处理,服务端需要更改什么内容?如果是客户端的问题又怎么办呢?……
慌归慌,事情还是要去处理,首先去百度科普下苹果的这条新规的规则,然后再去熟悉下什么是ipv6(尴尬脸~)。这个就不赘述了,自行度娘。

  1. 测试ipv6网络,首先要搭建好一个ipv6的网络, 百度一大堆。

  2. ipv6与ipv4的差别有:

    (1) IPv4是“.”来分割的,但是IPv6是“:”来分割的。
    (2)Ipv6使用域名
    (3)Ipv6创建socket时使用的参数为 ( socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP); ), 而Ipv4创建socket时使用的参数为 ( socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) )

    对于Ipv6 socket的创建及连接 可以参考这个链接
    http://blog.csdn.net/hepeng597/article/details/7803277

    Cocos2d-x开发系列 苹果IPv6 only问题处理 可以参考这个链接
    http://blog.csdn.net/diyal/article/details/51645207

以下是创建socket的相关代码

——————————————————————————————————————

本人的代码(包含ipv6 下 socket的创建与连接。 代码中用到了两个方法,分别为判断网络环境与域名解析函数)

 m_host = domainToIP(m_host.c_str());  // 将域名转换成ipv6的地址

    int sockfd, len;
    struct socka
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值