TCP Socket 单文件封装类——C#实现

一、简介

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

原文链接:,转发请注明来源!