💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# TCP ## **概述** TCP通讯协议在前置服务底层是基于Netty框架来实现的tcp的接入server和接出client,所有TCP协议的通讯配置基本就是Netty框架的参数配置。具体的参数根据业务需求配置接口,必填项都必须配置 ## **配置概览图** 1. 接出配置图 ![](https://img.kancloud.cn/5c/57/5c574651aaa80f5c7a41f43773227c8c_1586x591.png) - 接出配置连接超时间 2. 接入配置图 ![](https://img.kancloud.cn/8b/d6/8bd6ceb5d879047ef2932a7284ec92cb_1518x471.png) - 接入需要配置线程池参数,启动接收线程 - 接入通讯协议都需要配置“是否启用”,只有处于启用状态的会被立即启用,否则在【接入服务节点】中手动启动 - “IP地址”输入的“0.0.0.0”表示该接入将监听前置系统机器的所有IP ## **接包规则** 接包规则是通讯接入在接收报文的规则配置,定义了如何接收到一个完整报文。主要规则有以下几种:字节长度标识,字符串长度标识,定长报文,结束符。 1. 字符串长度标识包含:报文最大长度,长度的数据起始位置,报文数据长度的字段长度,内容调整长度,跳过字节数 - 报文最大长度是限制接收数据的最大长度,超出部分不读取。 - 数据读取长度公式为:数据长度=起始位置+字段长度+标记长度+调整位置 - 标记长度:是报文数据长度的字段长度中约定的数据长度。 - 跳过字节数:跳过计算数据长度的前面N个字节,从N+1个字节开始读取数据,前面的“跳过字节数”个字节不会被当做报文传到前置流程中。 ``` <pre class="calibre29">``` 字节长度和字符串长度:【网络数据长度<span class="token">=</span>“长度的数据起始位置” <span class="token">+</span>“报文数据长度的字段长度”<span class="token">+</span>报文中标识的长度<span class="token">+</span>“内容调整长度”】 例如:网络通信中最前面<span class="token2">6</span>个字符表示报文长度,该长度包含长度<span class="token2">6</span>个字符本身,示例报文“<span class="token2">000022</span>ABCDEF0123456789”则需配置: 长度的数据起始位置 <span class="token">=</span> <span class="token2">0</span> 报文数据长度的字段长度 <span class="token">=</span> <span class="token2">6</span> 内容调整长度 <span class="token">=</span> <span class="token">-</span><span class="token2">6</span> 上述等式为: <span class="token2">22</span><span class="token">=</span><span class="token2">0</span><span class="token">+</span><span class="token2">6</span><span class="token">+</span><span class="token2">22</span><span class="token">+</span><span class="token1">(</span><span class="token">-</span><span class="token2">6</span><span class="token1">)</span> ``` ``` 2. 字符串长度标识与字节长度标识处理逻辑一致,只是一个是字符,一个是字符串。 3. 定长报文:设置定长报文总长度,超出部分不读取,。 4. 结束符:如接收到设置的结束符号“#”,标识读取结束。