一个轮子,用来处理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