TCP/UDP 服务器怎么实现 request handler?

2022-07-05 13:36:47 +08:00
 b00tyhunt3r

本人只做过传统的 restful API web server, 客户端请求通过路由传给不同的 API handler ,实现各种功能, 如果是 TCP/UDP 服务器的情况下,要怎么实现这个路由给 handler 的功能呢?

举个例子,游戏服务器, 传统 restful 的情况下比如有一个查询人物等级的 api ,另有一个更新人物属性的 api 通过路由 api/level 和 api/stat 交由各自的 handler 处理

但在 tcp/udp 的情况下,似乎本来就不存在路由或者 handler 这个概念?那要怎么处理类似情况呢?

2403 次点击
所在节点    程序员
24 条回复
xuboying
2022-07-05 17:35:31 +08:00
grpc 是当今的标准答案么?
kekxv
2022-07-05 18:30:42 +08:00
试试?[kInteractiveProtocol 协议]( https://kekxv.github.io/2022/04/08/kInteractiveProtocol%20 协议 /)
fakeshadow
2022-07-05 18:58:39 +08:00
最简单的可以用 length delimiter 来区分消息类型,tcp 需要额外做一下 framing ,然后回调处理即可。
tramm
2022-07-06 10:26:39 +08:00
网游不知道, 但我们的物联网私有 TCP 协议这边, 是服务器根据协议解析后, 根据不同的指令 RPC 调用不同的服务

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/864175

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX