Closed blueskydata closed 10 months ago
Go的net.Conn是并发安全的,看官方文档。你保证你发送的数据一次调用发送就行。
非常感谢作者及时耐心解答,祝您万事顺心!
游戏业务中有类似请求保序的场景,需要针对请求中同一个 player_id 的数据做顺序串行处理,相当于一个玩家一个队列,对于这样的场景大佬有什么建议吗,当前框架的 WorkerPool 好像不太好做这样的扩展(没法指定 key)。 @smallnest
@chaoedu 我加了一个支持传递 req message 的 WorkerPool, 你可以参考一下
在func (s *Server) serveConn(conn net.Conn) {
} 而在processOneRequest中,包含了发送相应的过程,即s.sendResponse(ctx, conn, err, req, res),在多协程(可能处于不同的线程环境中)情况下,对同一个socket发送数据,如何保证数据的一致性,比如协程A发送了几个字节,协程B发送了几个字节,然后协程A再发送几个字节。