c#KCP数据通信设计

先附上git地址

https://github.com/huqiang0204/huqiang.UnitySubThreadUI

这里kcp设计是在UDP和Envelope的基础只是扩展出来的,具有很好的稳定性和速度,还有内网穿透,服务器可部署在内网供外网访问,详情请去看我git上的ip重定向示例。

Envelope中设计了消息分卷和分卷id,当双端通信时,接受的消息时会将消息id回传,通知对方消息已经接受,否则消息超时时则重新发送,消息超时时间,和连接超时时间可以自定义

代码请看/Core/Communication下的KcpLink和KcpEnvelope

连接超时时间在KcpLink中

public static long TimeOut = 50000000;//5*1000*10000断开连接默认超时为5秒

public void Send(byte[] data, byte type)//发送数据,和数据类型,数据类型可自定义

public virtual void Dispatch(byte[] dat, byte tag)//派发接受到的数据,数据是已经通过封包解包过的

数据超时时间定义在KcpEnvelope中

public byte[][] GetFailedData(long now, long timeout = 5000000)//失败的消息,这里默认给的500毫秒

ip重定向后面再介绍

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 cocoa AsyncSocket库,用它...
    Ethan_Struggle阅读 6,693评论 2 12
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,858评论 6 13
  • # Java NIO # Java NIO属于非阻塞IO,这是与传统IO最本质的区别。传统IO包括socket和文...
    Teddy_b阅读 3,772评论 0 0
  • 注:只包含标准包中的操作符,用于个人学习及备忘参考博客:http://blog.csdn.net/maplejaw...
    小白要超神阅读 6,669评论 2 8
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 7,046评论 0 4