Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
scala/akka/play中的简单Websocket_Scala_Websocket_Akka_Playframework 2.1 - Fatal编程技术网

scala/akka/play中的简单Websocket

scala/akka/play中的简单Websocket,scala,websocket,akka,playframework-2.1,Scala,Websocket,Akka,Playframework 2.1,我想使用Scala/Akka/Play创建一个简单的Websocket应用程序 我从示例(如或)中看到的是JavaScript/Coffeescript、html模板等的混合 我的Websocket应用程序的客户端也将是本地移动应用程序(Android、iOS),因此我需要考虑“脱离浏览器” 如何创建一个只需推送“hello”字符串的websocket应用程序?websocket连接中有两个部分:服务器和客户端。您可以使用Play2制作服务器部分,并使用Android(请参阅)、iOS(请参阅)

我想使用Scala/Akka/Play创建一个简单的Websocket应用程序

我从示例(如或)中看到的是JavaScript/Coffeescript、html模板等的混合

我的Websocket应用程序的客户端也将是本地移动应用程序(Android、iOS),因此我需要考虑“脱离浏览器”


如何创建一个只需推送“hello”字符串的websocket应用程序?

websocket连接中有两个部分:服务器和客户端。您可以使用Play2制作服务器部分,并使用Android(请参阅)、iOS(请参阅)、javascript应用程序实现客户端

下面是一个非常基本的websocket连接示例,取自:

您只需设置指向控制器的路由
conf/routes

GET /connect  Application.index
服务器已准备好运行。然后,您可以使用javascript应用程序、Android应用程序等连接到WebSocket。。。客户端是另一回事

如果您使用chrome或chrome,只需在developer tools中打开javascript控制台,就可以像这样连接到服务器:

ws = new WebSocket('ws://localhost:9000/connect')
ws.onmessage = function( message ) { console.log( message ); };
ws.send('test')
每当您发送消息时,它都会将消息发回并记录在javascript控制台中


您还可以使用echo测试并将您的
'ws://localhost:9000/connect'
url提供给它

您可以使用旧的套接字,但端口转发(即通过防火墙)会有问题,或者您可以使用Websocket客户端库,例如Java中的这个:

我很困惑。WebSocket是一种解决方法,因为HTTP不允许双向有状态连接。当您开发本机应用程序时,您没有这个限制(除非您使用的是ApacheCordova或类似软件,但之后您将使用Javascript)。那你为什么要走这条路?嗨Carsten。我不知道还有哪种双工协议允许从服务器到客户端的实时数据推送。本机应用程序(如GCM)的推送通知服务不是实时的。你知道其他方法吗?0MQ是一种流媒体发布/订阅的解决方案。@ticofab:还可以看看XMPP。
枚举器。命令式
似乎已被弃用或从最新版本的Play中删除,这是一个更新版本的echo应用程序:希望这能帮助其他人…链接已断开,请尝试以下操作:
ws = new WebSocket('ws://localhost:9000/connect')
ws.onmessage = function( message ) { console.log( message ); };
ws.send('test')