문제

JavaScript HTML에서 소켓을 사용하는 방법?

멋진 html5를 사용할 수 있습니까?

도서관? 튜토리얼? 블로그 기사?

도움이 되었습니까?

해결책

명세서:

조항:

지도 시간:

도서관 :

다른 팁

JavaScript/HTML에서 소켓을 사용하는 방법?

JS 또는 HTML에는 일반 목적 소켓을 사용할 시설이 없습니다. 그것은 보안 재해 일 것입니다.

HTML5에는 WebSocket이 있습니다. 클라이언트 측은 상당히 사소합니다.

socket= new WebSocket('ws://www.example.com:8000/somesocket');
socket.onopen= function() {
    socket.send('hello');
};
socket.onmessage= function(s) {
    alert('got reply '+s);
};

연결을 가져 와서 무언가를하려면 서버 측의 특수 소켓 응용 프로그램이 필요합니다. 웹 서버의 스크립팅 인터페이스에서 일반적으로 할 일이 아닙니다. 그러나 그것은입니다 비교적 간단한 프로토콜; 내 Noddy Python SocketServer 기반 엔드 포인트는 몇 페이지의 코드 일뿐입니다.

어쨌든 아직 존재하지 않습니다. JavaScript-Side 사양이나 네트워크 전송 사양이 모두 못 박히지 않으며 브라우저가 지원하지 않습니다.

그러나 WebSocket을 널리 사용할 수있을 때까지 스크립트에 폴백을 제공 할 수있는 Flash를 사용할 수 있습니다. Gimite 's 웹 소켓 -J 그러한 자유 예입니다. 그러나 플래시 소켓과 동일한 제한이 적용됩니다. 즉, 서버가 소켓 포트에 대한 요청시 교차 도메인 정책을 뱉어 낼 수 있어야하며, 종종 프록시/방화벽에 어려움이 있습니다. (플래시 소켓은 직접 만들어집니다. 직접 공개 IP 액세스가없는 사람은 HTTP 프록시를 통해 네트워크에서만 나올 수있는 사람의 경우 작동하지 않습니다.)

실제로 저도의 양방향 커뮤니케이션이 필요하지 않으면 고집하는 것이 좋습니다. XMLHttpRequest 지금은.

이 질문은 1 년이 넘었으므로 언급하는 것이 중요하다고 생각합니다. socket.io 그 이후로 나오고 현재 브라우저에서 소켓을 사용하는 주요 방법 인 것 같습니다. 또한 호환됩니다 node.js 내가 아는 한.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top