繁体   English   中英

使用UDP套接字的JavaScript应用-NodeJS和SocketIO

[英]JavaScript App using UDP sockets - NodeJS & SocketIO

我想开发一个JavaScript应用程序,该应用程序应该能够通过UDP套接字与其他第三方应用程序进行通信,并通过本地浏览器窗口表示一些数据。

据我所知,我应该使用NodeJS进行UDP套接字连接,并且我已经测试了其示例UDPserver.js示例,该示例似乎很好用。

我现在的问题是如何将从UDP服务器接收的数据(在NodeJS控制台上本地运行)传递给我的主应用程序,该应用程序将在浏览器上运行。 我读过我必须使用Socket.IO来实现此实时连接。

因此,就像在同一台计算机上同时运行客户端应用程序和服务器应用程序一样? socketIO如何准确地连接两个部分? 我应该使用WebSockets将我的App与NodeJS或sth桥接吗?

  |  JQUERY JS  |         |  NODE.JS |                     |      C++     | 
  |             |   [?]   |          |    [UDP SOCKETS]    |              |
  |LOCAL WEB APP| <=====> |UDP SERVER| <-----------------> |3RD-PARTY APPS| 
  |   (local)   |         |  (local) |                     |   (network)  |

有人可以帮我清理一下吗? 这应该是相对容易的事情,但是我对此并不陌生。

您的浏览器无法通过UDP进行通信。 (无论如何,不​​在WebRTC之外。)

WebSocket不是真正的网络套接字。 它们是首先通过HTTP请求建立的TCP连接上的抽象层。

Socket.IO是另一层抽象层,它在包括WebSockets,长轮询JSON等在内的多种传输方式上提供了类似于WebSocket的功能以及RPC。

由于普通的浏览器无法使JavaScript直接访问套接字,因此仅凭网页无法完成此任务。 使用节点中介程序并通过websocket连接浏览器是您的正确方法。

但是,您的应用程序可能最适合node-webkit ,它在同一软件包中将Chromium浏览器与node.js集成在一起。 这意味着您的网页代码可以直接使用UDP套接字等节点API。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM