\addons\webim\controllerEvents

Summary

Methods
Properties
Constants
onWorkerStart()
onConnect()
onWebSocketConnect()
onMessage()
onClose()
$global
No constants found
No protected methods found
No protected properties found
N/A
userOfflineTask()
userOnlineTask()
assignmentTask()
getMaxServiceNum()
writeLog()
No private properties found
N/A

Properties

$global

$global

Methods

onWorkerStart()

onWorkerStart(mixed  $worker) : mixed

进程启动后初始化数据库连接

Parameters

mixed $worker

Returns

mixed —

onConnect()

onConnect(int  $client_id) : mixed

当客户端连接时触发 如果业务不需此回调可以删除onConnect

Parameters

int $client_id

连接id

Returns

mixed —

onWebSocketConnect()

onWebSocketConnect(int  $client_id, mixed  $data) : mixed

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

Parameters

int $client_id

连接id

mixed $data

包含get、server等变量

Returns

mixed —

onMessage()

onMessage(int  $client_id, mixed  $data) : void

onMessage 事件回调 当客户端发来数据(Gateway进程收到数据)后触发

Parameters

int $client_id
mixed $data

onClose()

onClose(int  $client_id) : mixed

当用户断开连接时触发

Parameters

int $client_id

连接id

tips: 当服务端主动退出的时候,会出现 exit status 9.原因是:服务端主动断开之后,连接的客户端会走这个方法,而短时间内进程 需要处理这多的逻辑,又有cas操作,导致进程退出会超时,然后会被内核杀死,从而报出错误 9.实际对真正的业务没有任何的影响。

Returns

mixed —

userOfflineTask()

userOfflineTask( $group) : mixed

有人退出

Parameters

$group

Returns

mixed —

userOnlineTask()

userOnlineTask( $client_id,  $group) : mixed

有人进入执行分配

Parameters

$client_id
$group

Returns

mixed —

assignmentTask()

assignmentTask( $kfList,  $userList,  $group,  $total) : mixed

给客服分配会员【均分策略】

Parameters

$kfList
$userList
$group
$total

Returns

mixed —

getMaxServiceNum()

getMaxServiceNum() : int

获取最大的服务人数

Returns

int —

writeLog()

writeLog(int  $flag = 1) : mixed

将内存中的数据写入统计表

Parameters

int $flag

Returns

mixed —