0
点赞
收藏
分享

微信扫一扫

tcp框架需要解决的问题


1 自动编码,解码数据包,压缩在网络中传输数据

频繁发送数据,减少在网络中的延时。编码解码在cpu中高速运算,网络中传输很慢

tcp是流式的

2、自动封包,解包,解决TCP粘包问题

TCP流式传输,消息收尾相连。解决:给每个包打上报头,至少添加长度信息,读出有多长。

3、在连接建立和连接断开的时候,自动执行回调函数

4、客户端连接数控制

长消息,长连接

5、客户端消息频率控制

每秒钟发送很多包

6、自动处理客户端消息

根据客户端消息的类型,分配messageID,根据messageID识别消息,绑定回调函数,调用相应的函数处理。

7、自动启动固定数目的worker goroutine 进行消息的处理,避免goroutine的无线扩张

过来一个,起一个goroutine。不能让goroutine无限扩张,固定数目,处理。组织,放入消息队列。worker从消息队列从消费消息,处理。处理消息,利用用户注册的回调函数,处理完结束。

8、高效的,自动执行回调函数的timer/ticker

tcp框架需要解决的问题_tcp/ip

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

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

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

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


举报

相关推荐

0 条评论