-1
Я создал простой чат-сервер в Java с клиентом Javascript, но у меня возникла проблема с получением сообщений с JavaScript на Java.Проблемы с Jetty websocket и HTML5
Когда я использую клиент Java, он работает нормально, но когда я использую Javascript, у меня есть проблема.
Мой код:
Java
public class ChatRunner {
public static void main(String[] args) throws Exception {
Server server = new Server();
ServerConnector connector = new ServerConnector(server);
connector.setPort(8080);
server.addConnector(connector);
ServletContextHandler context = new ServletContextHandler(
ServletContextHandler.SESSIONS);
context.setContextPath("/");
server.setHandler(context);
try {
ServerContainer wscontainer = WebSocketServerContainerInitializer
.configureContext(context);
wscontainer.addEndpoint(ChatEndpoint.class);
server.start();
server.dump(System.err);
server.join();
} catch (Throwable t) {
t.printStackTrace(System.err);
}
}
}
@ServerEndpoint(value="/events/")
public class ChatEndpoint {
@OnOpen
public void onWebSocketConnect(Session sess) {
System.out.println("Socket Connected: " + sess);
}
@OnMessage
public void onWebSocketText(String message) {
System.out.println("Received TEXT message: " + message);
}
@OnClose
public void onWebSocketClose(CloseReason reason) {
System.out.println("Socket Closed: " + reason);
}
@OnError
public void onWebSocketError(Throwable cause) {
cause.printStackTrace(System.err);
}
}
JavaScript:
var ws = new WebSocket("ws://localhost:8080/events/");
ws.onopen = function() { ws.send("Hello"); };
Сервер получает только журнал подключений ... и запрашивает URL-адрес данных: ws: // localhost: 8080/events /? Encoding = text Метод запроса: GET Код состояния: 101 Переключение протоколов –