2011-09-17 4 views
3

저는이 일에 매우 익숙해 져서 제가하는 일을 잘 모르고 있지만 node.js udp 서버를 설치했습니다. 나는 (웹 사이트에서) 클라이언트로부터 패킷을 보내고 싶지만, 자바 스크립트에서 그렇게하는 방법을 모르거나 가능하다면. node.js 클라이언트에서 서버로 패킷을 보내는 방법을 찾고있는 것이 아니라 node.js udp 서버로 패킷을 보내는 웹 사이트를 작성하는 방법입니다. 그것이 의미가 있었는지 확실하지 않지만 도움을 주셔서 감사합니다!udp node.js 서버로 udp를 보내는 방법은 무엇입니까?

답변

6

웹 브라우저 (예 : JavaScript)에서 UDP 데이터 그램을 보낼 수 없습니다. 할 수있는 일은 웹 서버 (예 : AJAX 또는 websocket을 통해)에 접속하고 서버 측 프로그램 (php 또는 node.js 정도)을 실행하여 UDP 데이터 그램을 보내는 것입니다. 서버 측 프로그래밍 언어의 네이티브 소켓 모듈 (Python, php, node.js)을 사용하여 UDP 데이터 그램을 보낼 수 있습니다.

그러나 UDP를 처음 사용하는 이유는 무엇입니까? 재전송, 재정렬 등을 처리해야하며, 웹 브라우저는 TCP를 통해서만 대화 할 수 있기 때문에 UDP의 이점을 얻지 못합니다.

+0

내가 채팅 응용 프로그램을 작성하고 전송하는 UDP를 사용하려는거야이/메시지가 나타납니다. – Derek

+1

그러면 webrowser에서 tcp를 할 수 있습니까? – Derek

+1

@Derek 채팅 앱의 경우 TCP 대신 UDP를 사용하는 이유를 상상할 수 없습니다. 단점은 다음과 같습니다. 재전송을 구현해야하며 순서를 구현해야합니다 (큰 패킷의 경우에도 필요함). 또한 혼잡 방지가 필요합니다. TCP를 사용하면 모든 것을 무료로 이용할 수 있으며 방화벽을 통과하는 것이 더 쉽습니다. 그렇다면 왜 TCP 대신 UDP를 사용하고 있습니까? – phihag

6

당신이 튜토리얼에 관심이있을 수는 :

http://fzysqr.com/2011/02/28/nodechat-js-using-node-js-backbone-js-socket-io-and-redis-to-make-a-real-time-chat-app/ 그것은 매우 섬세한 디테일에 Node.js를에서 채팅 응용 프로그램을 만드는 방법을 통과

, 그는 심지어 Socket.io를 사용하는 방법을 보여줍니다 (A 브라우저 js 라이브러리)를 사용하여 실시간, 저 지연 응답을위한 웹 소켓을 활용할 수 있습니다.

Phihag가 암시 하듯이 UDP가 UDP가 패킷의 목적지 인을 보장하지 않기 때문에 이러한 종류의 애플리케이션에는 적합하지 않습니다. 이 경우에는 TCP 소켓을 사용하고 싶을 것입니다.

더 읽기 :

관련 문제