标题说明了一切。
我正在尝试制作一个连接到heroku上托管的服务器的视频游戏,以进行文件验证。
由于heroku不支持vinella插座,我必须使用websockets。我可以使用Ruby或者一些大的java框架来制作一个websocket服务器,但我找不到一个用java创建客户端套接字的轻量级解决方案。
提前致谢!
答案 0 :(得分:2)
JSR 356 (Java API for WebSocket),Java EE 7的一部分定义了客户端API。有多种实现:Tyrus(glassfish / WLS),Tomcat,......;基本上每个容器都提供实现或这个api,即使没有实现其他Java EE 7规范。
简单示例:
final WebSocketContainer client = ContainerProvider.getWebSocketContainer();
final Session session = client.connectToServer(new Endpoint() {
@Override
public void onOpen(Session session, EndpointConfig EndpointConfig) {
try {
session.addMessageHandler(new MessageHandler.Whole<String>() {
@Override
public void onMessage(String message) {
System.out.println("### Received: " + message);
}
});
session.getBasicRemote().sendText("Do or do not, there is no try.");
} catch (IOException e) {
// do nothing
}
}
@Override
public void onClose(Session session, CloseReason closeReason) {
System.out.println("### Client session closed: " + closeReason);
}
}, ClientEndpointConfig.Builder.create().build(), URI.create("ws://echo.websocket.org"));
答案 1 :(得分:0)
Jetty具有WebSocket客户端API