我正在努力运行grizzly-websockets-chat。我已经成功编译了样本。 HttpServer.createSimpleServer正在运行并在localhost:8080上提供测试index.html。 WebSocketEngine.getEngine()。register(“/ chat”,chatApplication)无怨无悔地执行。但是,localhost:8080 / chat返回“路径'/ chat'标识的资源,不存在。”这不属于Glassfish - 只是独立的Grizzly / 2.2.19。
某些地方的评论表明默认情况下websocket支持已关闭 - 我无法确定如何在Glassfish外部启用它。我在docroot中只有测试index.html ..还有什么需要吗?
我没有在客户端运行任何特殊的东西 - 没有js,没有。我在样本中没有看到任何这样的东西。令人惊讶的是,我没有找到一个好的文档或运行示例。也许是用户问题? ; /
看起来可能正在调用websocket代码:
$ java -jar ./tyrus-client-cli-1.1.jar ws://localhost:8080/chat
# Connecting to ws://localhost:8080/chat...
# Failed to connect to ws://localhost:8080/chat due to Handshake error
非常感谢任何帮助!
答案 0 :(得分:1)
将您的请求URI更改为ws:// localhost:8080 / grizzly-websockets-chat / chat。
ChatApplication为isApplicationRequest()定义了以下内容:
@Override
public boolean isApplicationRequest(HttpRequestPacket request) {
return "/grizzly-websockets-chat/chat".equals(request.getRequestURI());
}