소켓 연결을 사용하여 다른 응용 프로그램과 통신 해야하는 웹 응용 프로그램을 작성 중입니다. 이것은 나를위한 새로운 영역이므로 소켓 이 websockets 과 다른지 확인하고 싶습니다 . 그것들은 개념적으로 만 비슷한 것 같습니다.
처음에 Django를 프로젝트의 기초로 사용하려고 계획했지만 위의 링크에서 웹 소켓이 가능하지 않다는 것을 분명히 알았습니다. ) 선호하는 장고 설정 (mod_wsgi가있는 Apache)을 사용합니다. 그러나 필자는 서버의 호스트 이름 을 잡는 것과 같이 간단하게 파이썬 소켓 모듈을 가져 오는 다른 게시물을 발견했습니다 .
그래서:
- 그들은 정말로 다른가?
- 외부 서버와의 소켓 연결 설정에 의존하는 프로젝트에 Django를 사용하지 않을 이유가 있습니까?
답변
당신의 질문에 대답합니다.
- 그들은 비슷한 일 (일반적으로) 달성에도 불구하고, 예 , 그들은 이다 정말 다른. WebSocket은 일반적으로 TCP / IP를 통해 실행 되는 HTTP 와 유사한 프로토콜을 통해 Application Server에 연결하는 브라우저에서 실행됩니다 . 따라서 주로 서버에 영구적으로 연결해야하는 웹 응용 프로그램을위한 것입니다. 반면에 일반 소켓은 더 강력하고 일반적입니다. TCP / IP를 통해 실행 되지만 브라우저 나 HTTP 프로토콜로 제한되지 않습니다 . 그들은 모든 종류의 커뮤니케이션을 구현하는 데 사용될 수 있습니다.
- 아니요. 이유가 없습니다.
답변
웹 소켓은 구현시 소켓을 사용합니다. 웹 소켓은 연결 “핸드 셰이크”및 메시지 “프레임”을 정의하는 표준 프로토콜 (현재는 최종 호출이지만 아직 최종은 아님)을 기반으로합니다. 양측은 핸드 셰이크 절차를 거쳐 상호 연결을 수락 한 다음 표준 메시지 형식 ( “프레임”)을 사용하여 메시지를주고받습니다.
설치된 소프트웨어를 사용하여 컴퓨터와 컴퓨터간에 직접 통신 할 수있는 프레임 워크를 개발 중입니다. 목적에 맞을 수도 있습니다. 원하는 경우 내 블로그를 따라갈 수 있습니다 : http://highlevellogic.blogspot.com/2011/09/websocket-server-demonstration_26.html
답변
당신은 WebSocket을 (또는 사용해야 할 것 몇 가지 일반적인 브라우저 응용 프로그램이 단순히 순수한 TCP 소켓을 열 수 없기 때문에 플래시 플러그인에서 지원하는 것과 유사한 프로토콜 모듈 등을).
Socket.IO
모듈을 사용할 수에 대한이 node.js
는 것을 많은 도움이 있지만 참고 할 수 없는 그 자체로 순수 웹 소켓 모듈.
실제로 실행할 수있는보다 일반적인 통신 모듈의 상단에 WebSocket을, 플래시 소켓을 포함한 다양한 네트워크 프로토콜.
따라서 Socket.IO
서버 측에서 사용하려면 해당 클라이언트 코드와 객체도 사용해야합니다. 메시지 프로토콜을 에뮬레이션해야 WebSocket
하므로 socket.io
서버 에 대한 원시 연결을 쉽게 만들 수 없습니다 .
답변
WebSocket은 HTTP와 마찬가지로 TCP 프로토콜을 통한 또 다른 응용 프로그램 수준 프로토콜입니다.
아래 인용 된 <Spring in Action 4> 일부 스 니펫은 WebSocket을 더 잘 이해하는 데 도움이되기를 바랍니다.
가장 간단한 형태의 WebSocket은 두 응용 프로그램 간의 통신 채널 일뿐입니다 (브라우저가 반드시 필요한 것은 아닙니다) … WebSocket 통신은 모든 종류의 응용 프로그램 간에 사용될 수 있지만 WebSocket 의 가장 일반적인 용도는 서버 응용 프로그램 및 브라우저 기반 응용 프로그램.
답변
귀하의 질문 (b)와 관련하여 Websocket 사양이 확정되지 않았습니다. 에 따르면 W3C :
구현자는이 사양이 안정적이지 않다는 것을 알고 있어야합니다.
개인적으로 나는 Websockets이 현재 사용하기에는 너무 번쩍하다고 생각합니다. 아마 1 년 정도면 유용 할 것입니다.