ShortSocket

服务配置

  • 需要先在serivces.xml中进行服务端配置。
  • 属性id,state为必配项,其他为可选项;
  • 当services与service的state其中有一个为off时,服务接口就关闭;

属性说明

属性 描述 值类型 示例
id 标识 string 能表达通道含义的名字如testService
state 服务状态开关 string on:启动 off:关闭 启动服务端时是否启动该接口
type 服务类型 String shortSocket
description 描述 string 步骤描述信息

property属性

属性 描述 值类型 示例
Name 标识 string shortSocket连接启动所需参数
value string 当前字段的值;

socket服务配置property

属性 描述 值类型 示例
trust_ip 信任ip string 127.0.0.1
port 端口号 Int 10005
thread_pool_size 连接池的大小 Int 20
request_queue_len 访问的最大队列 int 500
receive_time 接收超时 long 3000
interfaceName 接口名 string 必配
transactionName 交易名 string 必配

接口主配置

对应服务端配置的接口和交易的编写,用来接收客户端socket传来的请求,并进行请求的响应。

客户端套接字

发送请求前需要建立连接,端口和ip需和服务配置中相同,接收的响应报文直接用this来表示。

<interface id="shortSocketFilter" type="server" version="2.0" defaultScope="transaction">
        <transaction id="test" version="2.0" loglevel="trace">

            <step id="1">
                <filter type="in" ref="publicFilter">
                    <field value="jsnx|COWPIN|flsend" scope="this"/>
                </filter>
                <connection ref="shortSocketClientConnection" type="out">
                    <property name="ip" value="127.0.0.1"/>
                    <property name="port" value="10005"/>
                    <property name="has_head" value="true"/>
                    <property name="head_len_type" value="2"/>
                    <property name="head_len" value="4"/>
                    <property name="is_contain_head_len" value="false"/>
                    <property name="fill_len" value="0"/>
                    <property name="is_contain_fill_len" value="false"/>
                    <property name="body_offset" value="0"/>
                    <property name="encoding" value="UTF-8"/>
                </connection>
                <filter ref="publicFilter" type="in">
                    <field tag="res" value="${this}" type="string"/>
                    <log value="应答-----${this}"/>
                </filter>
            </step>
        </transaction>

服务端socket

使用${bytes2Str(__val,'#{ENCODE}')}来解析接收的请求报文。

         <transaction id="shortSocketserver" version="2.0" loglevel="trace">
            <step id="1">
                <filter ref="publicFilter" type="in">
                    <field tag="res" value="${bytes2Str(__val,'#{ENCODE}')}"/>
                    <log value="接收到的报文:${res}"/>
                    <field value="success!" scope="this"/>
                </filter>
            </step>
        </transaction>

启动流程

先通过service.bat启动服务端,在通过client.bat启动客户端,从而完成连接交互。

输出在两个日志中。

服务端接收

1666582634677

客户端接收

1666582693655

results matching ""

    No results matching ""