我正在使用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的默认端口吗?
感谢。