大佬教程收集整理的这篇文章主要介绍了[寒江孤叶丶的Cocos2d-x之旅_34]ODSocket(BSDSocket)如何在切换网络状态时自动重连,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列]
博客地址:http://blog.csdn.net/qq446569365
在Socket网络游戏中,经常会用到BSDSocket。用户切换网络状态时,Socket链接会断开,如果通过Receive的返回值来判断网络是否断开,需要等待很长时间(4-20s)
这个时候就需要监听IOS网络状态切换,当发现用户切换网络状态时,直接重连Socket。
首先将NetworkInfo.h 和 NetworkInfo.m导入项目
NetworkInfo的Github地址
然后修改AppController.mm文件
首先引用刚刚导入的两个文件#import "NetworkInfo.h"
接下来在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
函数中加入如下代码(注册监听)
代码如下
//开启网络状况的监听 [[NsnotificationCenter defaultCenter] addObserver:self SELEctor:@SELEctor(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; NetworkInfo* hostReach = [NetworkInfo reachabilityWithHostName:@"www.baidu.com"] ;//网址可以修改一个连接速度较快的 [hostReach startNotifier]; //开始监听,会启动一个run loop
并且在文件中中加入网络状态切换的回调方法
代码如下
//网络链接改变时会调用的方法 -(void)reachabilityChanged:(Nsnotification *)note { NetworkInfo *currReach = [note object]; NSParameterAssert([currReach isKindOfClass:[NetworkInfo class]]); //TODO:重连网络 }
最后在项目中加入库文件:SystemConfiguration.framework
以上是大佬教程为你收集整理的[寒江孤叶丶的Cocos2d-x之旅_34]ODSocket(BSDSocket)如何在切换网络状态时自动重连全部内容,希望文章能够帮你解决[寒江孤叶丶的Cocos2d-x之旅_34]ODSocket(BSDSocket)如何在切换网络状态时自动重连所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。