2017-11-22 6 views
0

jquery를 사용하여 WebSocket 핸드 셰이크 요청을하고 있습니다. 여기에 나는 또한 headers 섹션에 헤더를 설정하려 코드Ajax Jquery Websocket 핸드 셰어 요청 헤더 - 안전하지 않은 헤더 설정을 거부했습니다.

$.ajax({ 
     url: 'http://'+ document.location.host + '/handshake', 
     type: 'GET', 
     dataType: 'json', 
     headers: { 
     }, 
     beforeSend: function (xhr) { 
     xhr.setRequestHeader('Upgrade', 'websocket'); 
     xhr.setRequestHeader('Connection', 'Upgrade'); 
     xhr.setRequestHeader('Sec-WebSocket-Key', 'dGhlIHNhbXBsZSBub25jZQ=='); 
     xhr.setRequestHeader('Sec-WebSocket-Version', '13'); 
     }, 
     success: function (result) { 
     // CallBack(result); 
     }, 
     error: function (error) { 

     } 
    }); 

,하지만 난 여전히 아래 오류 및 헤더는 핸드 쉐이크 요청에 설정되어 있지 않습니다.

enter image description here

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers

핸드 셰이크가 클라이언트 (브라우저)

답변

0

AJAX post error : Refused to set unsafe header "Connection"가 관련이있는 것으로 보인다하게하는 최초의 요청이있는 것을 나타냅니다.

var webSocket = new WebSocket('ws://localhost:8080/yourURL'); 

    webSocket.onerror = function(event) { 
     //Handle the error event, ('error' in your code) 
    }; 

    webSocket.onopen = function(event) { 
     //Handle what happens when the connection is made ('success' in your code) 
    }; 

    webSocket.onmessage = function(event) { 
     //What do do on each message 
    }; 

으로 :

당신이 웹 소켓 핸드 쉐이크 업그레이드 요청을하려면 난 당신이 무엇을해야하는 자바 스크립트로 WebSocket 객체의 기본을 사용할 수 있습니다, 생각은 (는 요청, 암시 적으로 설정 헤더를 전송) 귀하의 코드, 당신은 단순히 그 헤더를 만지지 허용되지 않습니다.