想提交 PullRequest, 作者又说github不给国内用, 只能发在这里.
希望能接纳.
如果没有这个功能, 只能在协议 decode 方法中返回false, 在 onMessage 回调中再做判断, 这样的话 onMessage 回调函数要做参数类型约束, 就不好做了.
\call_user_func($this->onMessage, $this, $parser::decode($one_request_buffer, $this));
修改为
if(false !== $decodeResult = $parser::decode($one_request_buffer, $this))
{
\call_user_func($this->onMessage, $this, $decodeResult);
}
底层框架不好做这个事情,这样会导致类似丢包的问题。会有一大批开发者过来问为什么前端发送了消息,后端onMessage没触发。而且有些业务是需要处理false这种情况的,直接忽略也不妥。如果你需要类似的功能建议直接在onMessage里封装一层,先判断是否为false,然后再决定是否调用你真正的处理函数。
谢谢回复, 我现在就是这样做的.