我是Java EE 7 websocket原理的新手。Websocket端點返回404
我有一個Java EE 7服務器部署在Wildfly 10.
我已經配置的上下文路徑和應用路徑。我能夠通過http://localhost:8080/context_path/app_path/something
訪問服務器。
現在,我宣佈一個簡單的ServerEndpoint:
@Stateful
@ServerEndpoint("websockets/stream")
public class StreamServerEndpoint {
private static final Logger LOG = Logger.getLogger(StreamServerEndpoint.class);
@Inject
ByteBufferStore byteBufferStore;
@Inject
private EventListener listener;
@OnOpen
public void open(Session session) {
LOG.info("Session opened and registered");
listener.register(session);
}
@OnMessage
public void message(Session session, ByteBuffer buffer) {
LOG.info("Message retrieved");
session.getUserProperties().put("buffer", buffer);
//byteBufferStore.retrieve().ifPresent(byteBuffer -> Common.sendBuffer(session, buffer));
}
@OnClose
public void close(Session session) {
listener.unregister(session);
}
}
在另一邊,我有一個外部角2項目,該項目應該連接到WebSocket的,但我得到的錯誤狀態代碼:404,200,取決於鏈接。
我得到200本:
ws://localhost:8080
我得到404(無握手可能)與此:
ws://localhost:8080/context_path/app_path/websockets/stream
我能做些什麼來達到的WebSocket?顯然我的URL不正確,或者我編寫服務器端點的方式是完全錯誤的。
那麼,404沒有找到,沒有握手可能。你可以使用不同的websocket客戶端連接到服務器嗎? –
不幸的是,來自不同websocket客戶端的請求沒有到達服務器。 – cayz
請參考下面的URL運行示例 https://examples.javacodegeeks.com/core-java/real-time-applications-angularjs-java-part-3/ https://coderwall.com/p/uhqeqg/HTML5-的WebSocket與 - angularjs –