将perl脚本连接到websocket(使用mojolicious)

时间:2017-08-24 15:23:50

标签: perl websocket mojolicious

这是我的问题:我有一个使用mojolicious的API,一个外部脚本perl和一个JS文件,我想用这样的方式连接它们:外部脚本启动一个随机的POST请求,如果它是成功的话必须发送消息"成功"通过websocket。如果发生错误,则必须发送"错误"。 API上的websocket将只传递将使用它的JS的消息。

我如何想象代码:

在Mojolicious启动器脚本中:

websocket '/foo' => sub {
 $self->on(message => sub {
  my ($self, $msg) = @_;
  $self->send($msg);
 });
};

收到消息后发送

在JS文件中:

var ws = new WebSocket('ws://api/foo'); 
ws.onmessage = function(msg){
 if(msg == "Error") {console.log("got an error")};
 else if(msg == "Success") {console.log("got a success")};
};

那么,我如何将我的外部脚本连接到websocket,并能够发送"错误"或者"成功"? (这个外部脚本与Web服务器无关,它在其他地方,做其他事情。)

1 个答案:

答案 0 :(得分:0)

我知道您想要一个简单的perl脚本,该脚本可以连接到具有websocket端点的Mojolicious Web服务器。 外部perl脚本应连接到websocket服务器并发送一些消息。然后,WebSocket服务器可以将这些消息重新分发给其他客户端。

检查我的github,您可以在其中找到上述screnario。

enter image description here