一、简介
一个轮子,用来处理TCP通信,不依赖第三方,把单个源码文件引入到项目中即可使用,调用方式灵活。
二、使用方式
SimpleTcp.cs 是你唯一需要的文件!
使用你喜欢的任何方式,放到你的项目能找到的任何目录即可!
三,实现方式
三大件,两个接口ITcp,IConnection,一个公共类SocketCommon。
ITcp接口:
约束了服务端和客户端的操作,调用Listen函数即可打开被动连接,等待客户端的连接请求,调用Connect函数,可以发送连接请求;
本文件提供了ITcp接口的一个实现类——Tcp_NET5_Fixed_Sync,用户可以根据需要来扩展该类。
IConnection接口:
服务端和客户端连接创建完成后,会生成该接口类型的对象,在后续数据交互过程中,都通过该接口约束的操作进行。该接口还提供了两个事件,OnDisConnected事件,用于添加连接关闭后的回调;OnRcved事件,用于添加数据帧接收完成后的回调操作。
用户可以根据自己项目的需要实现该接口,以适应不同的数据帧格式。
在文件ConnectionSimple中提供了简单的帧组合方式,处理了粘包分包的问题。帧格式为4个字节的头,紧跟着的是一个调用者提交的字节数组,该字节数组的长度存储在4个字节的头部。具体的实现方式可以下载源文件,其中有相关实现和注释。
四、后续支持
当前版本是基础但是可供使用的,代码中调用的Socket API 都是使用的同步操作,所以ITcp接口的实现类命名为Tcp_NET_Fixed_Sync!异步版本在紧急制作中,不久会提交出来!
github地址:https://github.com/leoualy/SimpleSocket.git