0

我正在努力运行 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

非常感谢任何帮助!

4

1 回答 1

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());
}
于 2013-08-06T17:35:28.660 回答