\App\WorkermanEvents

Summary

Methods
Properties
Constants
onWorkerStart()
onConnect()
onWebSocketConnect()
onMessage()
onClose()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Methods

onWorkerStart()

onWorkerStart(\GatewayWorker\BusinessWorker  $businessWorker) 

当businessWorker进程启动时触发。每个进程生命周期内都只会触发一次

Parameters

\GatewayWorker\BusinessWorker $businessWorker

onConnect()

onConnect(string  $clientId) 

当客户端连接上gateway进程时(TCP三次握手完毕时)触发的回调函数。 onConnect事件仅仅代表客户端与gateway完成了TCP三次握手,这时客户端还没有发来任何数据, 此时除了通过$_SERVER['REMOTE_ADDR']获得对方ip,没有其他可以鉴别客户端的数据或者信息,所以在onConnect事件里无法确认对方是谁。

Parameters

string $clientId

全局唯一的客户端socket连接标识

onWebSocketConnect()

onWebSocketConnect(string  $clientId, array  $data) 

当客户端连接上gateway完成websocket握手时触发的回调函数

Parameters

string $clientId

全局唯一的客户端socket连接标识

array $data

websocket握手时的http头数据,包含get、server等变量

onMessage()

onMessage(string  $clientId, mixed  $message) 

当客户端发来数据(Gateway进程收到数据)后触发的回调函数

Parameters

string $clientId

全局唯一的客户端socket连接标识

mixed $message

完整的客户端请求数据,数据类型取决于Gateway所使用协议的decode方法返的回值类型

onClose()

onClose(string  $clientId) 

客户端与Gateway进程的连接断开时触发。 不管是客户端主动断开还是服务端主动断开,都会触发这个回调。一般在这里做一些数据清理工作

Parameters

string $clientId

全局唯一的客户端socket连接标识