
`SwooleWebSocketServer::pack` 메서드는 WebSocket의 패킷을 생성하는 데 사용됩니다.
패킷의 기본 구조는 다음과 같습니다.
- 헤더 (4바이트): 패킷의 유형과 길이를 나타냅니다.
- 데이터 (변경 가능): 클라이언트에서 서버로 전송하는 데이터입니다.
서버에서 클라이언트로 데이터를 전송할 때 `pack` 메서드를 사용하는 방법은 다음과 같습니다.
#hostingforum.kr
php
use SwooleWebSocketServer;
$server = new Server('0.0.0.0', 9501);
$server->on('open', function ($server, $req) {
echo "Client: {$req->fd}, {$req->addr}n";
});
$server->on('message', function ($server, $frame) {
$data = $frame->data;
$server->push($frame->fd, $data);
});
$server->start();
위 예제에서 `push` 메서드를 사용하여 클라이언트로 데이터를 전송합니다. `pack` 메서드는 직접 사용하지 않습니다.
만약 `pack` 메서드를 직접 사용해야 한다면, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
use SwooleWebSocketFrame;
use SwooleWebSocketServer;
$server = new Server('0.0.0.0', 9501);
$server->on('open', function ($server, $req) {
echo "Client: {$req->fd}, {$req->addr}n";
});
$server->on('message', function ($server, $frame) {
$data = $frame->data;
$packedData = pack('N*', 1, strlen($data)) . $data;
$server->push($frame->fd, $packedData);
});
$server->start();
위 예제에서 `pack` 메서드를 사용하여 데이터를 패킷화합니다.
2025-06-07 08:14