跳到主要内容
版本:1.3.9

a.正常数据处理适配器

一、说明

正常数据处理适配器就是处理普通的TCP报文,内部不进行任何数据处理,这也就意味着它并不能解决粘、分包的问题,它只是能够将数据进行接收和处理而已。

二、特点

  1. 能够接收所有TCP报文,与语言、框架无关。
  2. 相当于加强版的Socket,但是数据发送与接收是完全一致的。

三、使用

步骤

  1. TouchSocketConfig配置中设置
  2. 通过Received(事件、方法、插件)中的ByteBlock读取数据(注意:数据长度是byteBlock.Len)。
TcpService service = new TcpService();
service.Received += (client, byteBlock, requestInfo) =>
{
//从客户端收到信息
string mes = Encoding.UTF8.GetString(byteBlock.Buffer, 0, byteBlock.Len);
};

service.Setup(new TouchSocketConfig()//载入配置
.SetListenIPHosts(new IPHost[] { new IPHost(7790) })
.SetDataHandlingAdapter(()=> { return new NormalDataHandlingAdapter(); }))//配置适配器
.Start();//启动
提示

该适配器,客户端与服务器均适用。

四、可设置参数

属性描述默认值
MaxPackageSize适配器能接收的最大数据包长度1024*1024*1024字节
CanSendRequestInfo是否允许发送IRequestInfo对象false
CanSplicingSend拼接发送false
CacheTimeoutEnable是否启用缓存超时。true
CacheTimeout缓存超时时间。1秒
UpdateCacheTimeWhenRev是否在收到数据时,即刷新缓存时间。当设为true时,将弱化CacheTimeout的作用,只要一直有数据,则缓存不会过期。当设为false时,则在CacheTimeout的时效内。必须完成单个缓存的数据true