lailongwei / llbc

一个简洁、高效、跨平台、多语言支持的服务端开发框架,面向Service及Component,底层c++实现。
MIT License
104 stars 33 forks source link

【llbc】确保业务自定义协议栈中发包的正确性 #148

Open lailongwei opened 1 year ago

lailongwei commented 1 year ago

当前Service::Send()类接口在进行发包时, 将进行sessionId有效性校验,而session信息添加时机是:Service处理SessionCreate事件时,这导致一个问题:

如果业务重写了协议栈,并在协议栈就进行发包,将有可能发包失败,因为收到包的时候,Service会话信息可能还未建立

所以,需要:Service层会话信息添加前置到Poller线程会话建立的时候就添加,以确保自定义协议栈开发者可在协议栈中就可发包