onClose
विवरण:
callback Worker::$onClose
जब क्लाइंट का कनेक्शन Workerman से डिस्कनेक्ट होता है, तब ट्रिगर होने वाली कॉलबैक फ़ंक्शन। कनेक्शन किसी भी तरह से टूटने के बाद, बस यह टूट जाएगा और onClose ट्रिगर होगा। प्रत्येक कनेक्शन केवल एक बार onClose को ट्रिगर करेगा।
ध्यान दें: यदि दूसरी ओर का कनेक्शन इंटरनेट बाधित होने या बिजली कटने जैसी चरम स्थितियों के कारण टूटता है, तो इस समय, Workerman को tcp का fin पैकेट तुरंत भेजने में असमर्थ होने के कारण, उसे नहीं पता चलेगा कि कनेक्शन टूट गया है और न ही वह onClose को तुरंत ट्रिगर कर सकेगा। इस स्थिति को एप्लिकेशन स्तर पर हार्टबीट के माध्यम से हल करने की आवश्यकता होती है। Workerman में कनेक्शन की हार्टबीट क्रियान्वयन के लिए देखें यहां। यदि आप GatewayWorker फ्रेमवर्क का उपयोग कर रहे हैं, तो सीधे GatewayWorker फ्रेमवर्क की हार्टबीट तंत्र का उपयोग करें, देखें यहां।
चूंकि udp कनेक्शन रहित होता है, इसलिए जब आप udp का उपयोग करते हैं, तो onConnect कॉलबैक ट्रिगर नहीं होगा, न ही onClose कॉलबैक ट्रिगर होगा।
कॉलबैक फ़ंक्शन के पैरामीटर
$connection
कनेक्शन ऑब्जेक्ट, अर्थात् TcpConnection उदाहरण, जिसका उपयोग क्लाइंट कनेक्शन को संचालित करने के लिए किया जाता है, जैसे डेटा भेजना, कनेक्शन बंद करना आदि
उदाहरण
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 "कनेक्शन बंद हो गया\n";
};
// वर्कर चलाएँ
Worker::runAll();
सूचना: कॉलबैक के रूप में अनाम फ़ंक्शन का उपयोग करने के अलावा, आप यहां अन्य कॉलबैक लेखन विधियों का उपयोग कर सकते हैं।