Mojo::WebSocket-WebSocket协议
使用Mojo::WebSocket qw(WS_TEXT build_frame parse_frame);my$bytes=build_frame 0,1,0,0,WS_TEXT,'你好,世界!';我的$frame=parse_frame\$bytes,262144;
Mojo::WebSocket实现WebSocket协议,如中所述副本请求6455。请注意,64位帧需要支持四元组的Perl,或者限制为32位。
Mojo::WebSocket实现以下功能,这些功能可以单独导入。
my$bytes=build_frame$masked,$fin,$rsv1,$rsv2,$rsv3,$op,$payload;
构建WebSocket框架。
#带FIN位和有效载荷的屏蔽二进制帧说build_frame 1,1,0,0,WS_BINARY,“你好,世界!”;#带有效载荷但不带FIN位的文本帧说build_frame 0、0、0,0,WS_TEXT,“你好”;#带FIN位和有效载荷的连续帧说build_frame 0,1,0,0,WS_CONTINUATION,“世界!”;#关闭带有FIN位且无有效载荷的帧例如build_frame 0,1,0,0,WS_CLOSE,“”;#带有FIN位和有效载荷的Ping帧例如build_frame 0,1,0,0,WS_PING,“测试123”;#带有FIN位和有效载荷的Pong帧比如build_frame 0,1,0,0,0,WS_PONG,'测试123';
my$bool=challenge-Mojo::Transaction::WebSocket->new;
检查WebSocket握手质询。
my$tx=client_handshake Mojo::Transaction::HTTP->new;
在客户端执行WebSocket握手。
我的$frame=parse_frame\$bytes,$limit;
分析WebSocket框架。
#解析单个帧并将其从缓冲区中删除我的$frame=parse_frame\$buffer,262144;说“FIN:$frame->[0]”;说“RSV1:$frame->[1]”;说“RSV2:$frame->[2]”;说“RSV3:$frame->[3]”;说“操作码:$frame->[4]”;说“有效载荷:$frame->[5]”;
my$tx=server_handshake Mojo::Transaction::HTTP->new;
在服务器端执行WebSocket握手。
Mojo::WebSocket实现以下常量,这些常量可以单独导入。
的操作码二元的
框架。
的操作码关闭
框架。
的操作码续
框架。
的操作码发出砰的声响
框架。
的操作码乒乓球
框架。
的操作码文本
框架。
您可以设置MOJO_WEBSOCKET_DEBUG公司
将一些高级诊断信息打印到的环境变量STDERR公司
.
MOJO_WEBSOCKET_DEBUG=1
Mojolicious公司,Mojolicious::指南,https://mojolicious.org.