Phương thức send

void AsyncUdpConnection::send(string $data)

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

Tham số

$data
Dữ liệu gửi đến máy chủ, kích thước dữ liệu không được vượt quá 65507 byte (kích thước tối đa của một gói dữ liệu UDP là 65507 byte), nếu không sẽ gửi thất bại.

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(){
    // Khởi động một client udp sau 1 giây, kết nối 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ừ máy chủ hello
            echo "recv $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 từ client AsyncUdpConnection, trả về chuỗi hello
    $connection->send("hello");
};
Worker::runAll();             

Khi thực hiện sẽ in ra kết quả tương tự như:

recv hello