Phương thức send

void AsyncUdpConnection::send(string $data)

Thực hiện kết nối bất đồng bộ. Phương thức này sẽ trả về ngay lập tức.

Tham số

$data
Dữ liệu gửi đến server, dung lượng dữ liệu không vượt quá 65507 byte (dung lượng tối đa của gói tin UDP là 65507 byte). Nếu vượt quá sẽ gửi không thành công.

Giá trị trả về

Không có giá trị trả về.

Ví dụ

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 giây sau đó kích hoạt một client udp, kết nối vào cổng 1234 và gửi chuỗi 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){
            // Nhận dữ liệu trả về từ server là hello
            echo "Nhận $data\r\n";
            // Đóng kết nối
            $udp_connection->close();
        };
        $udp_connection->connect();
    }, null, false);
};
$worker->onMessage = function(UdpConnection $connection, $data)
{
    // Nhận dữ liệu gửi từ client AsyncUdpConnection và trả về chuỗi hello
    $connection->send("hello");
};
Worker::runAll();             

Sau khi chạy, in kết quả tương tự:


Nhận hello