如何将udp发送到udp node.js服务器?

Der*_*rek 3 html javascript udp node.js

我是新手,所以我真的不知道我在做什么,但我已经设置了node.js udp服务器.我想从客户端(来自网站)向它发送一个数据包,但我不知道如何在javascript /或如果它甚至可能.我不是在研究如何从node.js客户端向服务器发送数据包,而是如何编写网站以将数据包发送到node.js udp服务器.不确定这是否有意义,但感谢您的帮助!

phi*_*hag 6

您无法从Web浏览器(即JavaScript)发送UDP数据报.您可以做的是联系网络服务器(例如通过AJAX或websocket)并执行服务器端程序(在php或node.js左右)发送UDP数据报.您可以使用服务器端编程语言的本机套接字模块(Python,php,node.js)发送UDP数据报.

但是,为什么你首先使用UDP?您将不得不处理重新传输,重新排序等,并且由于Web浏览器只能通过TCP进行通信,因此您无法获得UDP的任何优势.

  • @Derek 对于聊天应用程序,我无法想象为什么要使用 UDP 而不是 TCP 的原因。缺点是:必须实现重传,必须实现排序(大数据包也需要),甚至可能需要避免拥塞。使用 TCP,您可以免费获得所有这些,并且可以更轻松地通过防火墙。那么为什么使用 UDP 而不是 TCP 呢? (2认同)
  • @Derek嗯,你可以使用[websockets](http://websocket.org/),它是最接近TCP的。所有其他协议(基本上是轮询网络服务器以获取新闻)都比该协议抽象得多(与 UDP 相反),并且基于常规 HTTP,而常规 HTTP 又基于 TCP。 (2认同)

Jon*_*ine 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(一个浏览器js库)来利用Web套接字实现实时低延迟响应.

正如Phihag所暗示的那样,UDP对这种应用程序并不好,因为UDP并不能保证你的数据包能够到达目的地.在这种情况下,您肯定希望使用TCP套接字.

更多阅读: