JavaScript \ HTML에서 소켓을 사용하는 방법? [닫은]


82

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

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

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


1
무엇을하려고합니까? 어떤 브라우저를 지원 하시겠습니까?
James Black

나는 당신이 웹 소켓을 언급하고 있다고 가정한다
okw

TCP 소켓을 의미합니까?
AlikElzin-kilaka 2014-06-29

답변:


57

1
업데이트 : bobince이 페이지에 간단한 튜토리얼 제공 : P
okw

3
예, 그 사용자는 아마도 Kaazing의 Jonas Jacobi 일 것입니다. WebSocket이 언급되는 모든 곳에서 종종 팝업됩니다! 나는 Kaazing TBH가 websocket.org에 앉아 WebSocket 지원이 실제로 수행하는 것의 아주 작은 부분으로 보이는 모 놀리 식 비 실제 무료 클라이언트 및 서버 솔루션으로 보이는 것을 홍보하지 않습니다. 잘 모르겠습니다. 좋은 해결책이 될 수도 있지만 마케팅에 전적으로 익숙하지 않습니다. [수정 됨, 따라서 okw의 답변 후]
bobince

78

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);
};

연결을 가져 와서 작업을 수행하려면 서버 측에 특수 소켓 응용 프로그램이 필요합니다. 웹 서버의 스크립팅 인터페이스에서 일반적으로 수행하는 작업이 아닙니다. 그러나 이것은 비교적 간단한 프로토콜입니다 . 내 고개를 끄덕이는 Python SocketServer 기반 끝점은 코드 몇 페이지에 불과했습니다.

어쨌든 그것은 실제로 존재하지 않습니다. 자바 스크립트 측 사양이나 네트워크 전송 사양이 정해져 있지 않으며이를 지원하는 브라우저도 없습니다.

그러나 WebSocket을 널리 사용할 수있을 때까지 가능한 경우 Flash를 사용하여 스크립트에 폴백을 제공 할 수 있습니다. Gimite의 web-socket-js 는 그러한 무료 예입니다. 그러나 플래시 소켓과 동일한 제한이 적용됩니다. 즉, 서버가 소켓 포트에 대한 요청에 따라 도메인 간 정책을 뱉어 낼 수 있어야하며 프록시 / 방화벽에 문제가있는 경우가 많습니다. (플래시 소켓은 직접 만들어집니다. 직접 공개 IP에 액세스하지 않고 HTTP 프록시를 통해서만 네트워크를 벗어날 수있는 사람에게는 작동하지 않습니다.)

지연 시간이 짧은 양방향 통신이 정말로 필요한 경우가 아니라면 XMLHttpRequest지금 은 계속하는 것이 좋습니다 .


html5는 어떤 종류의 WS 바인딩을 지원합니까?
Rella

WebSocket 객체가 브라우저에서 어떻게 보일 것인지를 의미한다면 여전히 볼 수 있지만 사양 ( w3.org/TR/websockets )은 최근에 많이 변경되지 않았습니다. WS Bindings에 의해 웹 서비스에 대해 이야기하는 경우 없음 : WebSocket은 SOAP 또는 기타 기존 프로토콜에 대해 이야기하지 않습니다.
bobince

1
당신은 "JS 나 HTML에서 범용 소켓을 사용할 수있는 시설이 없다. 보안 재앙이 될 것이다"라고 말한다. 하지만 phonegap 또는 phonegap 관련 응용 프로그램은 어떻습니까? HTML + js는 표준 브라우저에만 필요한 것은 아닙니다.
obayhan

46

이제이 질문이 1 년이 넘었으므로 Socket.IO 가 나왔고 이제 브라우저에서 소켓으로 작업하는 주요 방법 인 것 같다는 점 을 언급하는 것이 중요하다고 생각합니다 . 내가 아는 한 Node.js 와도 호환됩니다 .


13
확인. 거의 6 년이 지났습니다. 표준이 변경 되었습니까?
아론 야곱
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.