简单的Perl websocket客户端

时间:2016-05-19 09:03:35

标签: perl websocket client

我正在尝试在Perl中编写一个简单的websocket客户端:

use Protocol::WebSocket::Client;

my $client = Protocol::WebSocket->new(url => 'ws://myserver:port');

# Sends a correct handshake header
$client->connect;

# Register on connect handler
$client->on(
    connect => sub {
        $client->write('hi there');
    }
);

# Parses incoming data and on every frame calls on_read
$client->read($reply);
print "$reply\n";

# Sends correct close header
$client->disconnect;

the documentation for Protocol::WebSocket::Client所示, 但我收到了消息:

Can't locate object method "new" via package "Protocol::WebSocket" at ./webSocketClient.pl.

我做错了什么?

2 个答案:

答案 0 :(得分:4)

Protocol::WebSocketWebSocket协议的低级实现。它不包含发送/接收数据的代码;它只是解析协议消息。

您可能希望查看将Protocol::WebSocket与各种模块一起使用的示例,请参阅examples。一个好的客户端示例在此模块附带的wsconsole实用程序中实现。

CPAN上有几个高级模块实现了隐藏所有低级内容的WebSockets,其中大多数使用Protocol::WebSocket。请查看AnyEvent::WebSocket::ClientNet::Async::WebSocket::Client

答案 1 :(得分:2)

示例代码中存在错误。 Protocol::WebSocket->new应为Protocol::WebSocket::Client->new