emqx私有tcp协议服务器开发---emqx_tcp_connection模块(1)

本文介绍了emqx_tcp_connection模块在建立TCP Socket连接进程中的作用,包括启动服务器端Socket服务,客户端连接处理,进程分裂,以及涉及的emqx_tcp_protocol协议和emqx_tcp_frame数据帧模块。此外,还提到了模块提供的客户端统计、信息查询、消息投递、连接控制和限速等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、本模块是建立tcp socket 连接进程模块,主要牵涉启动服务端socket服务,然后等待客户socket连接,然后针对每个进来的客户端进行进程分裂。

2、本模块牵涉到两个主要的模块emqx_tcp_protocol 协议 和 emqx_tcp_frame 数据帧

?2、提供统计不同的客户端socket的消息进出

3、查询客户socket的相关信息

4、客户端消息主题跨节点投递

5、提供禁止客户端连接,客户端限速等接口服务

-module(emqx_tcp_connection).

-export([logger_header/0]).

-behaviour(gen_statem).

-include("/emqx_tcp/include/emqx_tcp.hrl").

%% tcp连接报文
-record(tcp_packet_conn,
        {client_id, keepalive, username, password, version}).

%% 连接回复报文
-record(tcp_packet_connack, {code, msg}).

%% tcp数据报文{长度,数据内容}
-record(tcp_packet_datatrans, {length, data}).
 
-record(tcp_packet_ping, {}).
-record(tcp_packet_pong, {}).

%% tcp连接断开报文
-record(tcp_packet_disconn, {}).

-include("/emqx/include/emqx.hrl").

%% 订阅数据结构{主题,订阅id,订阅配置}
-record(subscription, {topic, subid, subopts}).

%% 消息定义
-record(message,{
        id :
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值