我正在学习使用tomcat在Java中创建Web套接字服务器,但是当我使用示例代码运行tomcat9.0时,我总是在chrome开发人员工具响应中收到以下错误。 **web socket failed: Error during WebSocket handshake: Unexpected response code: 404**我查询了很多参考资料,但仍然无法解决问题,我使用的是tomcat9.0&jre 1.8.0,请参阅Blog。我创建服务器代码(项目->新建-> Servlet文件)是 package idv.yu; import java.io.IOException; import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; @ServerEndpoint(value = "/endpoint") public class MyWebsocket { @OnOpen public void onOpen(Session session) { System.out.println("onOpen::" + session.getId()); } @OnClose public void onClose(Session session) { System.out.println("onClose::" + session.getId()); } @OnMessage public void onMessage(String message, Session session) { System.out.println("onMessage::From=" + session.getId() + " Message=" + message); try { session.getBasicRemote().sendText("Hello Client " + session.getId() + "!"); } catch (IOException e) { e.printStackTrace(); } } @OnError public void onError(Throwable t) { System.out.println("onError::" + t.getMessage()); } }我的项目树结构如下:
2 回答
![?](http://img1.sycdn.imooc.com/54584d1300016b9b02200220-100-100.jpg)
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
404
websocket中的内容与404
HTTP中的内容没有什么不同,这意味着您尝试访问的地址无法在服务器上找到。在您的情况下,我认为这大约是/WebsocketDemo
一部分。该/endpoint
是你的端点配置,但其缺少可用/WebsocketDemo
。也许您应该将WAR部署/WebsocketDemo
在webapps中,或者删除地址的这一部分。
添加回答
举报
0/150
提交
取消