2014-09-14 1 views
0

나는 웹 소켓과 글래스 피쉬를 사용합니다. 로드 페이지에서 start() 함수를 호출합니다. 시작 함수에 경고가 포함되어 있으면 서버에 메시지를 보내지 만 경고를 표시하지 않으면 작동하지 않습니다. 나는 이유를 알 수 없다.websocket.send()가 경고에 의존하는 이유는 무엇입니까?

자바 스크립트

function start() { 
    alert('a'); //this alert 
    webSocket.send('start_server'); 
} 

function onMessage(event) { 
    document.getElementById('messages').innerHTML 
    += event.data; 
} 

서버 측

@OnMessage 
public void onMessage(String message, Session session) 
    throws IOException, InterruptedException { 

    System.out.println("Message recieved"); 
    session.getBasicRemote().sendText(message); 

} 

@OnOpen 
public void onOpen() { 
    System.out.println("Client connected"); 
} 

답변

1

는 어디 클라이언트 측에서 웹 소켓을 초기화합니까? 확인을 클릭 할 때까지 경고는 실행을 일시 중단 - 그래서 난 (을 webSocket.send 전에 웹 소켓을 초기화)

당신은 웹 소켓 # 열린 이벤트가 무슨 일이 생긴 이후에 데이터를 보낼 수 있습니다 실행의 주문이 잘못된 것 같아요.

var connection = new WebSocket(...) connection.onopen = function() { connection.send('Ping'); };

자료 : html5rocks

+0

나는 자바 스크립트 파일의 시작 부분에서 웹 소켓을 초기화합니다. 어디에서 초기화해야합니까? – cadmy

관련 문제