onClose
Açıklama:
geriÇağırma Worker::$onClose
Client bağlantısı Workerman'dan koparsa tetiklenen geri çağırma fonksiyonu. Bağlantının nasıl koptuğuna bakılmaksızın, koptuğunda onClose
tetiklenecektir. Her bağlantı sadece bir kez onClose
tetikler.
Not: Karşı taraftaki bağlantı, ağ kesilmesi veya güç kesilmesi gibi aşırı durumlarda koparsa, Workerman'a zamanında tcp fin paketi gönderilemediği için Workerman bağlantının koptuğunu bilemeyecek ve zamanında onClose
tetikleyemeyecektir. Bu durumu uygulama katmanındaki kalp atışıyla çözmek gerekmektedir. Workerman'da bağlantı kalp atışının nasıl yapıldığına buradan bakabilirsiniz. GatewayWorker çerçevesi kullanılıyorsa, doğrudan GatewayWorker çerçevesinin kalp atış mekanizmasını kullanabilirsiniz, buradan bakınız.
UDP bağlantısı bağlantısız olduğu için UDP kullanırken onConnect
geri çağırma tetiklenmez ve aynı şekilde onClose
geri çağırma da tetiklenmez.
Geri çağırma fonksiyonunun parametreleri
$connection
Bağlantı nesnesi, yani TcpConnection örneği, müşteri bağlantısını işlemek için veri göndermek, bağlantıyı kapatmak gibi işlemler yapmak için kullanılır.
Örnek
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onClose = function(TcpConnection $connection)
{
echo "bağlantı kapatıldı\n";
};
// Worker'ı çalıştır
Worker::runAll();
Not: Geri çağırma olarak anonim işlevi kullanmanın yanı sıra, diğer geri çağırma kodlama yöntemleri için buradan bakılabilir.