模块:莫霍时间:Web套接字

名称

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实现以下常量,这些常量可以单独导入。

WS_BINARY公司

的操作码二元的框架。

WS_关闭

的操作码关闭框架。

WS_继续

的操作码框架。

WS_PING公司

的操作码发出砰的声响框架。

WS_PONG公司

的操作码乒乓球框架。

WS_TEXT(WS_文本)

的操作码文本框架。

调试

您可以设置MOJO_WEBSOCKET_DEBUG公司将一些高级诊断信息打印到的环境变量STDERR公司.

MOJO_WEBSOCKET_DEBUG=1

另请参阅

Mojolicious公司,Mojolicious::指南,https://mojolicious.org.