在Play中测试Websocket服务器

时间:2015-05-20 09:19:00

标签: java scala testing playframework websocket

我正在使用WebSocket服务器在Scala中开发一个Play应用程序。 这是控制器:

echo 1; nohup sh -c "/opt/scripts/test/long_running.sh $1" >& /dev/null

这是相应的路线:

class WebsocketServer {
  def subscribe() = WebSocket.acceptWithActor[JsValue, JsValue]{ request => 
    out => <do something>
  }  
}

我已经使用Java类(使用javax.websocket)实现了一个带有Specs2的Websocket客户端。我通过运行(GET /subscribe @controllers.WebsocketServer.subscribe() )来运行Play应用程序。客户端类尝试通过方法FakeApplication()连接到Web套接字服务器。

connect()

但是当我尝试连接时出现以下错误:

public void connect() {
   URI serverEndpointURI = URI.create("ws://localhost:9000/subscribe"); 
   try {
     WebSocketContainer c = ContainerProvider.getWebSocketContainer();
     c.connectToServer(this, serverEndpointURI);
   } catch (Exception e){
   throw new RuntimeException(e);        
  }
}

是否可以将我的Java Websocket客户端连接到java.net.ConnectException: Connection refused 中的Web套接字控制器? URI是否正确? 9000是FakeApplication的默认端口吗? 感谢。

0 个答案:

没有答案