다음 알림 메시지가 계속 나타나는 이유는 무엇입니까?
PHP 공지: 정의되지 않은 속성: swoole_http_request::$get in /var/local/code/swoole/ws_server.php 8행
PHP 스택 추적:
PHP 1. {main}() /var /local/code/swoole/ws_server.php:0
PHP 2. swoole_http_server->start() /var/local/code/swoole/ws_server.php:23
PHP 3. {클로저:/var /local/code/swoole/ws_server.php:7-10}() /var/local/code/swoole/ws_server.php:23
//websocket 서버 객체를 생성하고 포트 0.0.0.0:9502를 수신합니다.
$ws = new swoole_websocket_server("0.0.0.0", 9502);
//WebSocket 연결 열기 이벤트를 수신합니다.
$ws->on('open', 함수($ws, $request) {
var_dump($request->fd, $request->get, $request->서버);
$ws->push($request->fd, "안녕하세요, 환영합니다\n");
});
//WebSocket 메시지 이벤트 수신
$ws->on('메시지', 함수($ws, $frame) {
echo "메시지: {$frame->data}\n";
$ws->push($frame->fd, "서버: {$frame->data}");
});
//WebSocket 연결 종료 이벤트 수신
$ws->on('닫기', 함수($ws, $fd) {
echo "클라이언트-{$fd}가 닫혔습니다\n";
});
$ws->start();
js 코드
var wsServer = 'ws://127.0.0.1:9502';
var websocket = new WebSocket(wsServer);
websocket.onopen = 함수(evt) {
console.log("WebSocket 서버에 연결되었습니다.");
};
websocket.onclose = 함수(evt) {
console.log("연결이 끊어졌습니다");
};
websocket.onmessage = 함수(evt) {
console.log('서버에서 검색된 데이터: ' + evt.data);
};
websocket.onerror = 함수(evt, e) {
console.log('오류가 발생했습니다: ' + evt.data);
};
ws_server.php의 여섯 번째 줄, 요청 객체에는 get 메소드가 없습니다
첫 번째 요청은
favicon.ico
,这里没有get
이 속성에 대한 것입니다. 이 요청을 필터링하면 됩니다.