onError

Giới thiệu:

callback Worker::$onError

Khi xảy ra lỗi trên kết nối của khách hàng.

Hiện tại, các loại lỗi có:

1、Lỗi do gọi Connection::send vì kết nối của khách hàng đã bị ngắt (ngay sau đó sẽ kích hoạt callback onClose) (code:WORKERMAN_SEND_FAIL msg:client closed)

2、Lỗi khi gọi Connection::send sau khi đã kích hoạt onBufferFull (bộ đệm gửi đã đầy), và bộ đệm gửi vẫn ở trạng thái đầy dẫn đến lỗi gửi (sẽ không kích hoạt callback onClose) (code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package)

3、Lỗi khi kết nối bất đồng bộ bằng AsyncTcpConnection không thành công (ngay sau đó sẽ kích hoạt callback onClose) (code:WORKERMAN_CONNECT_FAIL msg:stream_socket_client trả về thông báo lỗi)

Tham số của hàm callback

$connection

Đối tượng kết nối, tức là Instancce TcpConnection, được sử dụng để thao tác kết nối của khách hàng, như gửi dữ liệu, đóng kết nối v.v.

$code

Mã lỗi

$msg

Thông báo lỗi

Ví dụ

use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onError = function(TcpConnection $connection, $code, $msg)
{
    echo "error $code $msg\n";
};
// Chạy worker
Worker::runAll();

Lưu ý: Ngoài việc sử dụng hàm ẩn danh làm callback, bạn cũng có thể tham khảo ở đây để sử dụng các cách viết callback khác.