一个轮子,用来处理TCP通信,不依赖第三方,把单个源码文件引入到项目中即可利用,调用办法灵巧。

二、利用办法

SimpleTcp.cs 是你唯一须要的文件!

phpsocket封装类TCP Socket 单文件封装类C实现 Java

利用你喜好的任何办法,放到你的项目能找到的任何目录即可!

三,实现办法

三大件,两个接口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