2011-09-17 38 views
3

我很新,所以我真的不知道我在做什么,但我已经设置了一个node.js udp服务器。我想从客户端(从一个网站)发送一个数据包给它,但我不知道如何在javascript中做到这一点,或者甚至可能。我没有关注如何从node.js客户端向服务器发送数据包,而是如何编写网站以将数据包发送到node.js udp服务器。不知道这是否合理,但感谢您的帮助!如何发送udp到udp node.js服务器?

回答

6

您无法从浏览器(即JavaScript)发送UDP数据报。你可以做的是联系一个web服务器(例如通过AJAX或websocket)并执行一个服务器端程序(在php或node.js中)来发送UDP数据报。您可以使用服务器端编程语言的本地套接字模块(Pythonphp,node.js)发送UDP数据报。

但是,您为什么首先使用UDP?你将不得不处理重新传输,重新排序等等,由于webbrowsers只能通过TCP通信,所以你没有获得UDP的任何优势。

+0

我创建一个聊天应用程序,并希望使用UDP发送/接收消息。 – Derek

+1

那我可以用webrowser做tcp吗? – Derek

+1

@Derek对于一个聊天应用程序,我无法想象为什么会使用UDP而不是TCP。缺点是:必须执行重传,必须执行排序(大数据包也需要),甚至有可能避免拥塞。通过TCP,您可以免费获得所有这些,并且可以更轻松地通过防火墙。那么为什么你使用UDP而不是TCP? – 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(一浏览器js库)利用网络套接字实时,低延迟响应。

正如Phihag暗示的那样,UDP不适合这种应用,因为UDP并不保证您的数据包将到达目的地。在这种情况下,您肯定希望使用TCP套接字。

更多阅读: