分布式通讯组件重复注册事件的问题 -已解决

笑天

使用on函数回调注册事件A
组件服务端会收到2次subscribe请求.

因为我想对这个组件进行二次开发,目的是为了某个事件在被注册的同时立马对该事件进行publish.但是我测试发现每次该事件的回调都会被执行2次.请问这个能给个解决方案吗?

====================是代码问题=======修改如下===========
修改Client.php文件中的函数onRemoteConnect为:

/**
     * onRemoteConnect.
     * @return void
     */
    public static function onRemoteConnect()
    {
        $all_event_names = array_keys(self::$_events);
        if($all_event_names && self::$_reconnectTimer)  //<----改动过
        {
            self::subscribe($all_event_names);
        }
        self::clearTimer();
    }
3077 1 0
1个回答

domr

执行两次,是你设置了$count=2吧,workerman是多进程的,如果两个进程都监听了相同的事件,如果事件发生那就会触发两次。

  • 笑天 2016-07-05

    没有的哦,count=1,我反复查过了.

年代过于久远,无法发表回答
🔝