onClose

Açıklama:

callback Worker::$onClose

Bir istemci bağlantısı Workerman ile bağlantısını kestiğinde tetiklenen geri çağırma fonksiyonu. Bağlantı ne şekilde koparsa kopsun, sadece kesildiğinde onClose tetiklenecektir. Her bağlantı için yalnızca bir kez onClose tetiklenir.

Not: Eğer karşı taraf, ağ kesintisi veya elektrik kesintisi gibi aşırı durumlar nedeniyle bağlantıyı kestiğinde, bu durumda Workerman'a tcp'nin fin paketini zamanında gönderemediği için bağlantının kesildiğini bilemez ve bu nedenle onClose'u zamanında tetikleyemez. Bu durumda uygulama katmanı kalp atışı ile çözülmelidir. Workerman'daki bağlantı kalp atışı uygulaması için buraya bakabilirsiniz. Eğer GatewayWorker framework'ü kullanıyorsanız, doğrudan GatewayWorker framework'ünün kalp atışı mekanizmasını kullanabilirsiniz, buraya bakın.

UDP bağlantısız olduğundan, UDP kullanıldığında onConnect geri çağırması da, onClose geri çağırması da tetiklenmeyecektir.

Geri Çağırma Fonksiyonunun Parametreleri

$connection

Bağlantı nesnesi, yani TcpConnection örneği, istemci bağlantısını yönetmek için kullanılır, örneğin veri göndermek, bağlantıyı kapatmak vb.

Ö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ı kapandı\n";
};
// worker'ı çalıştır
Worker::runAll();

İpucu: Anonim fonksiyon kullanmanın dışında, buraya bakarak diğer geri çağırma yazım tarzlarını da kullanabilirsiniz.