Java 连接到'的WebSocket;ws://localhost:8080/WebsocketHome/actions';失败:WebSocket握手期间出错:意外响应代码:404
我想通过websocket与服务器通信,但现在的问题是每次我尝试使用Java 连接到'的WebSocket;ws://localhost:8080/WebsocketHome/actions';失败:WebSocket握手期间出错:意外响应代码:404,java,websocket,java-websocket,Java,Websocket,Java Websocket,我想通过websocket与服务器通信,但现在的问题是每次我尝试使用var connection=new-websocket('ws://localhost:8080/WebsocketHome/actions')建立连接时显示“WebSocket握手期间出错:意外响应代码:404”错误。我正在使用JBossV4.0服务器。我使用的Jar文件是“jboss-websocket-api_1.1_spec-1.1.3.Final.Jar”。我尝试了stackoverflow上提供的所有解决方案 下面
var connection=new-websocket('ws://localhost:8080/WebsocketHome/actions')建立连接时代码>显示“WebSocket握手期间出错:意外响应代码:404”错误。我正在使用JBossV4.0服务器。我使用的Jar文件是“jboss-websocket-api_1.1_spec-1.1.3.Final.Jar”。我尝试了stackoverflow上提供的所有解决方案
下面是代码DeviceWebSocketServer.java
package websocket;
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("/actions")
public class DeviceWebSocketServer
{
@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());
}
}
web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>WebsocketHome</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
韦氏体
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
以下是项目结构
404
代码与HTTP404
相同,因此我建议您检查您的地址。我不知道jboss是如何工作的,但你不应该从地址中删除/WebsocketHome
?谢谢@SepGH的回复,但我的问题已经解决了,问题是jboss,因为jboss 4不支持websocket。只有jboss版本7和更高版本支持websocket,apache tomcat 7和更高版本亲爱的@ashishpandey我的ejb模块中的websocket有问题。如何解决HTTP404问题?我正在使用Jboss Eap 7.2,我在这里提供了代码:您能看一下吗?404
代码与Http 404
相同,所以我建议您检查一下您的地址。我不知道jboss是如何工作的,但你不应该从地址中删除/WebsocketHome
?谢谢@SepGH的回复,但我的问题已经解决了,问题是jboss,因为jboss 4不支持websocket。只有jboss版本7和更高版本支持websocket,apache tomcat 7和更高版本亲爱的@ashishpandey我的ejb模块中的websocket有问题。如何解决HTTP404问题?我正在使用Jboss Eap 7.2,我在这里提供了代码:您能看一下吗?