[BUG] socket-io组件,如果想踢掉某个客户端,目前发现不生效,dismiss方法可能有问题?
Author: lushaoboCreated Jun 29, 2026Updated Jul 16, 2026
Labelsbug
Execute the command and paste the result below.
Command: uname -a && php -v && composer info | grep hyperf && php --ri swoole
# Paste the result here.
Linux 9e1c32c7d4d8 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 Linux
PHP 8.4.14 (cli) (built: Oct 24 2025 20:05:56) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.14, Copyright (c) Zend Technologies
with Zend OPcache v8.4.14, Copyright (c), by Zend Technologies
friendsofhyperf/lock 3.1.79 The lock component for Hyperf.
friendsofhyperf/tinker 3.1.79 The Powerful REPL for Hyperf.
hyperf/async-queue 3.1.70 A async queue component for hyperf.
hyperf/cache 3.1.69 A cache component for hyperf.
hyperf/code-parser 3.1.63 A code parser component for Hyperf.
hyperf/codec 3.1.63 A codec component for Hyperf.
hyperf/collection 3.1.64 Hyperf Collection package which come from illuminate/collections
hyperf/command 3.1.64 Command for hyperf
hyperf/conditionable 3.1.63 Hyperf Macroable package which come from illuminate/conditionable
hyperf/config 3.1.63 An independent component that provides configuration container.
hyperf/context 3.1.63 A coroutine/application context library.
hyperf/contract 3.1.63 The contracts of Hyperf.
hyperf/coordinator 3.1.70 Hyperf Coordinator
hyperf/coroutine 3.1.70 Hyperf Coroutine
hyperf/crontab 3.1.67 A crontab component for Hyperf.
hyperf/database 3.1.68 A flexible database library.
hyperf/db-connection 3.1.66 A hyperf db connection handler for hyperf/database.
hyperf/devtool 3.1.66 A Devtool for Hyperf.
hyperf/di 3.1.67 A DI for Hyperf.
hyperf/dispatcher 3.1.63 A HTTP Server for Hyperf.
hyperf/engine 2.15.0 Coroutine engine provided by swoole.
hyperf/engine-contract 1.14.0 Contract for Coroutine Engine
hyperf/event 3.1.63 an event manager that implements PSR-14.
hyperf/exception-handler 3.1.63 Exception handler for hyperf
hyperf/filesystem 3.1.68 flysystem integration for hyperf
hyperf/framework 3.1.63 A coroutine framework that focuses on hyperspeed and flexible, specifically use for build microservices and middlewares.
hyperf/guzzle 3.1.66 Swoole coroutine handler for guzzle
hyperf/http-message 3.1.69 microservice framework base on swoole
hyperf/http-server 3.1.69 A HTTP Server for Hyperf.
hyperf/laminas-mime 3.0.0 Create and parse MIME messages and parts
hyperf/logger 3.1.63 A logger component for hyperf.
hyperf/macroable 3.1.63 Hyperf Macroable package which come from illuminate/macroable
hyperf/memory 3.1.63 An independent component that use to operate and manage memory.
hyperf/model-listener 3.1.63 A model listener for Hyperf.
hyperf/paginator 3.1.65 A paginator component for hyperf.
hyperf/pipeline 3.1.63 Hyperf Macroable package which come from illuminate/pipeline
hyperf/pool 3.1.70 An independent universal connection pool component.
hyperf/process 3.1.63 A process component for hyperf.
hyperf/redis 3.1.69 A redis component for hyperf.
hyperf/serializer 3.1.63 A serializer component for Hyperf.
hyperf/server 3.1.63 A base server library for Hyperf.
hyperf/socketio-server 3.1.63 Socket.io implementation for hyperf
hyperf/stdlib 3.1.63 A stdlib component for Hyperf.
hyperf/stringable 3.1.65 Hyperf Stringable package which come from illuminate/support
hyperf/support 3.1.65 A support component for Hyperf.
hyperf/tappable 3.1.63 Hyperf Macroable package which come from illuminate/tappable
hyperf/testing 3.1.63 Testing for hyperf
hyperf/translation 3.1.63 An independent translation component, forked by illuminate/translation.
hyperf/validation 3.1.70 hyperf validation
hyperf/websocket-server 3.1.70 A websocket server library for Hyperf.
swoole
Swoole => enabled
Author => Swoole Team <[email protected]>
Version => 6.1.6
Built => Jan 26 2026 12:49:13
host byte order => little endian
coroutine => enabled with boost asm context
epoll => enabled
eventfd => enabled
signalfd => enabled
cpu_affinity => enabled
spinlock => enabled
rwlock => enabled
openssl => OpenSSL 3.3.5 30 Sep 2025
dtls => enabled
http2 => enabled
json => enabled
curl-native => enabled
curl-version => 8.14.1
c-ares => 1.34.6
zlib => 1.3.1
brotli => E16781312/D16781312
mutex_timedlock => enabled
pthread_barrier => enabled
coroutine_pgsql => enabled
coroutine_odbc => enabled
coroutine_sqlite => enabled
Directive => Local Value => Master Value
swoole.enable_library => On => On
swoole.enable_fiber_mock => Off => Off
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => Off => Off
swoole.unixsock_buffer_size => 8388608 => 8388608
Description:
目前有个功能需要踢掉某个用户,发现调用BaseNamespace::dismiss 是不生效的,代码如下:
然后在处理代码是这样的
发现 生产者的key是 room, 而处理代码里面获取的是 rooms 。
请问,这样是不是bug ?
Steps To Reproduce:
Source: hyperf/hyperf