[寒江孤叶丶的Cocos2d-x之旅_34]ODSocket(BSDSocket)如何在切换网络状态时自动重连

[寒江孤叶丶的Cocos2d-x之旅_34]ODSocket(BSDSocket)如何在切换网络状态时自动重连,第1张

概述原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net/qq446569365 用于监听IOS网络状态切换(WIFI和移动蜂窝网络) 有什么作用 在Socket网络游戏中,经常会用到BSDSocket。用户切换网络状态时,Socket链接会断开,如果通过Receive的返回值来判断网络是否断开,需要等待很长时间(4-2

原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列]

博客地址:http://blog.csdn.net/qq446569365

用于监听IOS网络状态切换(WIFI和移动蜂窝网络) 有什么作用

在Socket网络游戏中,经常会用到BSDSocket。用户切换网络状态时,Socket链接会断开,如果通过Receive的返回值来判断网络是否断开,需要等待很长时间(4-20s)
这个时候就需要监听IOS网络状态切换,当发现用户切换网络状态时,直接重连Socket。

如何在Cocos中使用

首先将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)如何在切换网络状态时自动重连所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1065333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存