```php
void Connection::close(mixed $data = '')
सुरक्षित रूप से कनेक्शन बंद करें और कनेक्शन का onClose कॉलबैक ट्रिगर करें।
हालांकि udp कनेक्शन रहित है, लेकिन संबंधित AsyncUdpConnection ऑब्जेक्ट हमेशा मेमोरी में रहता है, इसे मुक्त करने के लिए close मेथड को कॉल करना आवश्यक है, अन्यथा यह udp कनेक्शन ऑब्जेक्ट मेमोरी में बना रहेगा, जिससे मेमोरी लीक हो सकता है।
पैरामीटर
$data
वैकल्पिक पैरामीटर, भेजे जाने वाले डेटा (यदि कोई प्रोटोकॉल निर्दिष्ट है, तो प्रोटोकॉल के encode मेथड को स्वतः $data डेटा को पैक करने के लिए कॉल किया जाएगा), जब डेटा भेजने के बाद कनेक्शन बंद किया जाएगा, जिसके बाद onClose कॉलबैक ट्रिगर होगा।
डेटा का आकार 65507 बाइट्स से अधिक नहीं हो सकता, अन्यथा भेजने में विफलता होगी।
उदाहरण
use Workerman\Worker;
use Workerman\Timer;
use Workerman\Connection\AsyncUdpConnection;
use Workerman\Connection\UdpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('udp://0.0.0.0:1234');
$worker->onWorkerStart = function(){
// 1 सेकंड बाद एक udp क्लाइंट शुरू करें, 1234 पोर्ट से कनेक्ट करें और स्ट्रिंग hi भेजें
Timer::add(1, function(){
$udp_connection = new AsyncUdpConnection('udp://127.0.0.1:1234');
$udp_connection->onConnect = function(AsyncUdpConnection $udp_connection){
$udp_connection->send('hi');
};
$udp_connection->onMessage = function(AsyncUdpConnection $udp_connection, $data){
// सर्वर से लौटे डेटा hello को प्राप्त करें
echo "recv $data\r\n";
// कनेक्शन बंद करें
$udp_connection->close();
};
$udp_connection->connect();
}, null, false);
};
$worker->onMessage = function(UdpConnection $connection, $data)
{
// AsyncUdpConnection क्लाइंट द्वारा भेजे गए डेटा को प्राप्त करें, स्ट्रिंग hello लौटाएं
$connection->send("hello");
};
Worker::runAll();
आधिकारिक रूप से प्रिंट करने पर कुछ इस तरह का आउटपुट होगा:
recv hello