PHP 클래스 Swoole\Protocol\WebSocket

상속: extends HttpServer
파일 보기 프로젝트 열기: matyhtf/swoole_framework 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
$connections
$frame_list
$heart_time 数据包最大长度,超过此长度会被认为是非法请求
$keepalive 600s life time
$max_connect
$max_frame_size

공개 메소드들

메소드 설명
afterResponse ( Request $request, Response $response ) Clean and fire onWsConnect().
cleanBuffer ( $fd ) 清理连接缓存区
cleanConnection ( ) clean all connection
close ( integer $fd, integer $code = self::CLOSE_NORMAL, string $reason = '' ) : boolean Close a connection.
doHandshake ( Request $request, Response $response ) : boolean Do the handshake.
newFrame ( string $message, integer $opcode = self::OPCODE_TEXT_FRAME, boolean $end = true ) : integer Write a frame.
onClose ( $serv, $client_id, $from_id )
onConnect ( $serv, $fd, $from_id )
onEnter ( $client_id )
onExit ( $client_id ) : mixed 客户端退出
onHttpRequest ( Request $request ) : Response Produce response for Http request.
onMessage ( $client_id, $message ) : mixed 收到消息
onReceive ( $server, $fd, $from_id, $data ) Read a frame.
onRequest ( Request $request ) : Response Request come
onWebSocketRequest ( Request $request ) : Response Produce response for WebSocket request.
onWsConnect ( $client_id, $request ) Called on WebSocket connection established.
opcodeSwitch ( $client_id, &$ws ) opcode switch
parseFrame ( &$buffer ) : array | boolean 解析数据帧 返回false表示解析失败,需要关闭此连接
send ( integer $client_id, string $message, integer $opcode = self::OPCODE_TEXT_FRAME, boolean $end = true ) : boolean Send a message.

보호된 메소드들

메소드 설명
parseMessage ( $ws )

메소드 상세

afterResponse() 공개 메소드

Clean and fire onWsConnect().
public afterResponse ( Request $request, Response $response )
$request Swoole\Request
$response Swoole\Response

cleanBuffer() 공개 메소드

清理连接缓存区
public cleanBuffer ( $fd )
$fd

cleanConnection() 공개 메소드

clean all connection
public cleanConnection ( )

close() 공개 메소드

Close a connection.
public close ( integer $fd, integer $code = self::CLOSE_NORMAL, string $reason = '' ) : boolean
$fd integer
$code integer
$reason string Reason.
리턴 boolean

doHandshake() 공개 메소드

Do the handshake.
public doHandshake ( Request $request, Response $response ) : boolean
$request Swoole\Request
$response Swoole\Response
리턴 boolean

newFrame() 공개 메소드

Write a frame.
public newFrame ( string $message, integer $opcode = self::OPCODE_TEXT_FRAME, boolean $end = true ) : integer
$message string Message.
$opcode integer Opcode.
$end boolean
리턴 integer

onClose() 공개 메소드

public onClose ( $serv, $client_id, $from_id )

onConnect() 공개 메소드

public onConnect ( $serv, $fd, $from_id )

onEnter() 공개 메소드

public onEnter ( $client_id )
$client_id

onExit() 공개 메소드

客户端退出
public onExit ( $client_id ) : mixed
$client_id
리턴 mixed

onHttpRequest() 공개 메소드

Produce response for Http request.
public onHttpRequest ( Request $request ) : Response
$request Swoole\Request
리턴 Swoole\Response

onMessage() 추상적인 공개 메소드

收到消息
abstract public onMessage ( $client_id, $message ) : mixed
$client_id
$message
리턴 mixed

onReceive() 공개 메소드

Read a frame.
public onReceive ( $server, $fd, $from_id, $data )

onRequest() 공개 메소드

Request come
public onRequest ( Request $request ) : Response
$request Swoole\Request
리턴 Swoole\Response

onWebSocketRequest() 공개 메소드

Produce response for WebSocket request.
public onWebSocketRequest ( Request $request ) : Response
$request Swoole\Request
리턴 Swoole\Response

onWsConnect() 공개 메소드

Called on WebSocket connection established.
public onWsConnect ( $client_id, $request )
$client_id
$request

opcodeSwitch() 공개 메소드

opcode switch
public opcodeSwitch ( $client_id, &$ws )
$client_id
$ws

parseFrame() 공개 메소드

解析数据帧 返回false表示解析失败,需要关闭此连接
public parseFrame ( &$buffer ) : array | boolean
$buffer
리턴 array | boolean

parseMessage() 보호된 메소드

protected parseMessage ( $ws )

send() 공개 메소드

Send a message.
public send ( integer $client_id, string $message, integer $opcode = self::OPCODE_TEXT_FRAME, boolean $end = true ) : boolean
$client_id integer
$message string Message.
$opcode integer Opcode.
$end boolean Whether it is the last frame of the message.
리턴 boolean

프로퍼티 상세

$connections 공개적으로 프로퍼티

public $connections

$frame_list 공개적으로 프로퍼티

public $frame_list

$heart_time 공개적으로 프로퍼티

数据包最大长度,超过此长度会被认为是非法请求
public $heart_time

$keepalive 공개적으로 프로퍼티

600s life time
public $keepalive

$max_connect 공개적으로 프로퍼티

public $max_connect

$max_frame_size 공개적으로 프로퍼티

public $max_frame_size