首页 > 代码库 > unity探索者之socket传输protobuf字节流(四)
unity探索者之socket传输protobuf字节流(四)
版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/7027659.html
上篇已经把socket的传输说的差不多了,这篇主要是说说断线重连,没什么好说的,直接上代码吧
1 //断线重连功能我是用的协程,不建议用线程去重连,因为大多数时候,重连是需要告诉用户的,使用线程会导致显示很麻烦 2 int reconnectTime = 0;//重连次数 3 IEnumerator Reconnect() 4 { 5 //关闭socket,上一篇中有定义 6 Close(); 7 reconnectTime++; 8 bool isSuccess = false; 9 //重新初始化socket,获取初始化结果 10 isSuccess = Init(); 11 if (!isSuccess) 12 { 13 //重连次数小于3次,则再次尝试重连 14 //超过3次,基本可以确定网络已经断开了 15 if (reconnectTime < 3) 16 { 17 yield return new WaitForSecondsRealtime(5); 18 StartCoroutine(Reconnect()); 19 } 20 else 21 Debug.Log("网络错误"); 22 } 23 else 24 { 25 reconnectTime = 0; 26 //创建一个临时List,存放未发送出去的消息 27 List<byte[]> lb = new List<byte[]>(); 28 lb.AddRange(sendList); 29 //清空原有消息集合,加入登录请求后,再加入未发送的消息 30 sendList.Clear(); 31 //重新登录,AddSendMessageQueue上一篇中已定义 32 AddSendMessageQueue("登录的protobuf对象", "登录的消息id"); 33 sendList.AddRange(lb); 34 }
unity探索者之socket传输protobuf字节流(四)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。