2015-01-10 6 views
-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"); }; 

ответ

0

Ну вы можете проверить ваш сервер с помощью https://www.websocket.org/echo.html. Просто введите свой глобальный url и тест.

+0

Сервер получает только журнал подключений ... и запрашивает URL-адрес данных: ws: // localhost: 8080/events /? Encoding = text Метод запроса: GET Код состояния: 101 Переключение протоколов –

Смежные вопросы