Eis*_*ack 5 sockets network-programming msmq http rtp
我正在寻找一种通过互联网传输数据的好方法,我在C++/windows环境下工作.数据是二进制的,是提取图像的压缩blob.输入和要求如下:
我是网络编程的新手,到目前为止,我可以发现下列方法之一是合适的.
客户端在浏览器上运行(在浏览器上显示实时图像).服务器运行本机C++代码.如果有其他方法可以实现相同的目的,请告诉我?我应该选择哪一个?为什么?
如果服务器确定发送图像的速度(看起来就是这样),那么服务器推送式解决方案就有意义了。如今,大多数浏览器(甚至非浏览器)都选择了WebSocket。
WebSocket 相对于大多数专有协议的主要优势除了成为广泛采用的标准之外,还在于它们运行在 HTTP 之上,因此可以渗透(大多数)代理和防火墙等。
在服务器端,您可以集成node.js,它允许您轻松实现 WebSockets,并附带许多其他库。它是用 C++ 编写的,可通过 C++ 和 JavaScript 进行扩展,node.js 为其托管虚拟机。Node.js 的主要特性是在每个级别都是异步的,这使得这种编程风格成为默认的。
但是当然还有其他方法可以在服务器端实现 WebSockets,也许 node.js 比您需要的更多。我在 Windows 上为 node.js 实现了 C++ 扩展,并使用socket.io为旧版浏览器进行 WebSocket 和非 WebSocket 传输,这对我来说效果很好。
但那是文本数据。在您的二进制数据情况下,socket.io 不会执行此操作,因此您可以查看其他通过 WebSocket 执行二进制数据的库。
归档时间: |
|
查看次数: |
1477 次 |
最近记录: |