protected function setListenCallback($key, $listen, \stdClass $opt)
{
# 设置回调
$listen->on('Receive', function ($server, $fd, $fromId, $data) use($key) {
if (isset(self::$workers[$key])) {
self::$workers[$key]->onReceive($server, $fd, $fromId, $data);
}
});
switch ($opt->type) {
case SWOOLE_SOCK_TCP:
case SWOOLE_SOCK_TCP6:
$listen->on('Connect', function ($server, $fd, $fromId) use($key) {
if (isset(self::$workers[$key])) {
self::$workers[$key]->onConnect($server, $fd, $fromId);
}
});
$listen->on('Close', function ($server, $fd, $fromId) use($key) {
if (isset(self::$workers[$key])) {
self::$workers[$key]->onClose($server, $fd, $fromId);
}
});
break;
case SWOOLE_UNIX_STREAM:
$listen->on('Packet', function ($server, $data, $clientInfo) use($key) {
if (isset(self::$workers[$key])) {
self::$workers[$key]->onPacket($server, $data, $clientInfo);
}
});
break;
}
}