对于基于tcp的二进制协议,kitex写死了只有tthead协议支持多路复用,而用户自定义的协议并不支持多路复用,一个并发需要一个tcp链接,而成熟的rpc框架例如 brpc trpc 基本上都支持用户自定的协议也支持链接多路复用。大致需要这样
type MuxCodec interface {
Encode(ctx context.Context, msg Message, out ByteBuffer) error
PreDecode(in ByteBuffer) (interface{}, int32, error)
ContinueDecode(ctx context.Context, parse_ctx interface{}, msg Message, in ByteBuffer) error
Name() string
}