0
포트 3000에서 수신 대기하는 파이썬 스크립트를 실행하는 홈 서버로 웹 사이트 연결을 만들었습니다.로드 할 때 클라이언트가 연결 한 서버 로그로 서버에 연결할 수 있습니다. 나의 페이지. 그러나 서버에 연결할 때마다 서버가 자동으로 내 서버 receivedMessage() 함수를 실행하고 연결에 관한 가비지를 출력합니다. 서버 로그는 다음과 같습니다 : 코드의서버에 쓰레기를 보내는 웹 소켓
A new client has connected
Message Received: GET/HTTP/1.1
Host: [Insert host name and port here]
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
Origin: null
Sec-WebSocket-Version: 13
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Sec-WebSocket-Key: 3DUmKD70X9p19IpLPjS2jg==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
코드 조각은 서버에 연결하는 것은 간단하다 : 위의 스크립트가 실행될 때
var theSocket = new WebSocket("ws://[insert host name]:3000");
theSocket.onopen = function() {
// Web Socket is connected, send data using send()
theSocket.send("blah");
alert("SENT");
};
는 또한 경고 상자가 결코까지 보여줍니다. 모든 연결 세부 사항이 인쇄되는 원인은 무엇이며 어떻게 간단한 문자열을 보내고 경고 상자를 성공적으로 팝업 할 수 있습니까?
내 자바 스크립트 콘솔이 "웹 소켓 연결을 'ws : // {호스트 이름} : 3000 /'에 인쇄하지 못했습니다. WebSocket 열기 핸드 셰이크가 취소되었습니다. '라는 메시지가 나타납니다. – Aimee
그냥 이해하려고합니다. 여전히 연결이 성공적이지 않은 경우에도 WS 서버가 가비지를 인쇄하는 이유에 대해 대답하지 않습니다. 일부 기본 WS 동작입니까? – goldenmean
올바른 부분, 첫 번째 섹션에서 링크 된 기사를 보면 websocket 클라이언트는 Aimee가 자신의 서버 프린트에서 보는 "표준"http 요청을 보낼 것입니다. 파이썬 서버 코드가 없으면 그것에 대해 더 많이 말하기가 어렵습니다. –