This commit is contained in:
2020-11-02 14:55:17 +08:00
parent aa6d65510c
commit 3b730fb2b3
+14 -8
View File
@@ -33,7 +33,7 @@ class OnClose extends Callback
{ {
try { try {
[$manager, $name] = $this->resolve($server, $fd); [$manager, $name] = $this->resolve($server, $fd);
if (!$manager->has($name)) { if (empty($manager) || !$manager->has($name)) {
return; return;
} }
$manager->runWith($name, [$fd]); $manager->runWith($name, [$fd]);
@@ -57,14 +57,20 @@ class OnClose extends Callback
*/ */
public function resolve($server, $fd) public function resolve($server, $fd)
{ {
if (!($server instanceof WServer)) { var_dump($server);
return [null, null]; if ($server instanceof WServer) {
if (!$server->isEstablished($fd)) {
return [null, null];
}
$manager = Snowflake::app()->annotation->get('websocket');
$name = $manager->getName(AWebsocket::CLOSE);
} else if ($server instanceof HServer) {
$manager = Snowflake::app()->annotation->get('http');
$name = $manager->getName(Annotation::CLOSE);
} else {
$manager = Snowflake::app()->annotation->get('tcp');
$name = $manager->getName(Tcp::CLOSE);
} }
if (!$server->isEstablished($fd)) {
return [null, null];
}
$manager = Snowflake::app()->annotation->get('websocket');
$name = $manager->getName(AWebsocket::CLOSE);
return [$manager, $name]; return [$manager, $name];
} }