tcp框架需要解决的问题

48 篇文章 0 订阅
19 篇文章 0 订阅

1 自动编码,解码数据包,压缩在网络中传输数据
频繁发送数据,减少在网络中的延时。编码解码在cpu中高速运算,网络中传输很慢
tcp是流式的
2、自动封包,解包,解决TCP粘包问题
TCP流式传输,消息收尾相连。解决:给每个包打上报头,至少添加长度信息,读出有多长。
3、在连接建立和连接断开的时候,自动执行回调函数
4、客户端连接数控制
长消息,长连接
5、客户端消息频率控制
每秒钟发送很多包
6、自动处理客户端消息
根据客户端消息的类型,分配messageID,根据messageID识别消息,绑定回调函数,调用相应的函数处理。
7、自动启动固定数目的worker goroutine 进行消息的处理,避免goroutine的无线扩张
过来一个,起一个goroutine。不能让goroutine无限扩张,固定数目,处理。组织,放入消息队列。worker从消息队列从消费消息,处理。处理消息,利用用户注册的回调函数,处理完结束。
8、高效的,自动执行回调函数的timer/ticker
在这里插入图片描述

client—>client handler goroutine —>两个goroutine
client reader goroutine
client writer goroutine编码

解包数据,数据和连接作为一个request传入消息处理模块 形成request

当把数据处理完,发送到消息队列中,如发送到第五个消息队列5 worker5读到消息,worker去apis中找

如果api需要向客户端写数据,request中封装有连接消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值