问题标签 [udp-data-transfer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - UDT 服务器缓冲区大小?
所以这是我接收 UTD 消息的程序。我打算用它通过 wifi 接收 640*480 YUV 图像。我应该设置多大的缓冲区?是否可以在收到第一张图像后设置缓冲区以找出实际大小?
贝娄是我的全部代码,但基本上我的问题与这一行有关:
以及是否可以在获得第一张图像后设置。
c++ - UDT::send 在 for 循环中只发送一次。没有错误
这仅发送一次数据,这对我来说似乎是不合理的,因为它处于 for 循环中:
它不应该发送数据10次吗?我不明白。这是整个程序(很短):
c++ - boost::asio 是否有 UDT 后端?
请告诉我是否存在用于 boost::asio 的 UDT 协议后端?
UDT 是一种可靠的基于 UDP 的应用程序级数据传输协议,用于广域高速网络上的分布式数据密集型应用程序。( http://udt.sourceforge.net/index.html )
c++ - 在运行时选择要链接的库
我正在尝试修改iperf以支持另一种协议 (UDT)。UDT API 是这样编写的,它反映了标准的 BSD 调用:
然后我需要做的是有条件地与 UDT 库链接,以便 iperf 中的这些调用将使用 UDT 代码而不是 TCP 堆栈的套接字接口。这可以做到吗?我总是可以只加载库并使用 UDT:: 命名空间拥有另一个条件路径,但会有 1)与 TCP 路径有很多重复,2)有很多可能不需要的更改。如果我不清楚,请告诉我,任何有关如何实现此动态链接的建议都将不胜感激。
编辑:
使用下面提到的 dlopen() 系列,我可以有以下程序流程:
解析 cmd 行参数 -> 如果请求 UDT,则加载库 libudt -> 获取并存储所有 UDT BSD 函数的句柄(绑定、监听等)
此时,我的所有 UDT 函数都存储了函数指针。假设我将它们全部存储在一个名为 udt_calls 的结构中。现在,我对现有代码有一个问题,它只是进行如下调用:
而不是:
有没有一种干净的方法可以用我现在加载的函数指针在我的 udt_calls 结构中全局覆盖整个程序中的任何 BSD 调用?
udp - 调整 UDT 的拥塞控制
我有一个运行 Linux 的嵌入式设备,它通过 LAN 提供传感器数据,但从不提供 WAN。有时它可能驻留在http://en.wikipedia.org/wiki/Long_fat_network的一端。
我继承的架构使用 TCP,但我想添加相当于 UDP 实时视频的内容。我不在乎丢包或订购。我只想知道当我掉线时在客户端,如果我发送太快,在服务器端。我永远不想重传。
还有其他地方我应该看吗?鉴于我最初的基准测试,UDT 目前太慢了。带有序列号的简单 UDP 客户端/服务器可以在这个嵌入式系统上维持约 80 Mbit/s,而未调整的 UDT 运行大约 30 Mbit/s。如果我使用它的 SOCK_DGRAM 接口,UDT 似乎过于激进地回退到它通常以 16 Mbit/s 运行的点。有没有人为这种应用程序成功调整过 UDT 的 CCC?我见过的最高吞吐量是 35 Mbit/s 与 UDT 的示例应用程序。
我应该直接跳到 RTP 吗? http://en.wikipedia.org/wiki/Real-time_Transport_Protocol
events - epoll/libevent/libev 可以和 UDT 一起工作吗?
我正在构建一个需要处理数万个活动套接字的高并发服务器。我最初使用 epoll 来构建一个基于事件的服务器,它在中等规模(数千个活动套接字)下运行良好。但是当我的并发超过 10,000 个套接字时,它似乎变得不稳定。所以我正在考虑 libevent(或 libev),因为它是一个成熟的项目,并声称能够“处理数万个活动套接字”。
我也在考虑使用 UDT,因为它是一个“可靠的 UDP”,并且由于开销和内存使用,我开始遇到 TCP 问题。所以一个很自然的想法是使用 libevent 作为我的事件框架工作,使用 UDT 作为传输协议。我知道 UDT 提供了自己的一组 epoll 操作。这是否意味着它不能与常规的 linux epoll 一起使用?如果是这样,它将无法与 libevent 或 libev 一起使用,因为它们是基于 Linux epoll 构建的。
有没有人在 UDT 和 epoll / libevent / libev 上工作过?UDT 可以与它们中的任何一个一起使用吗?
任何帮助将不胜感激。谢谢。
arrays - VB.NET 集合的窗口
我想访问一组窗口(只是当前在用户会话中打开的窗口)。我将使用 EnumerateWindows,但我不知道如何使它们像 .NET 那样可用,例如用于进程。
我希望能够以
我想我需要一堂课来做到这一点,但我不知道这在实践中是谁做的。
非常感谢。
boost - recv 期间 UDT 连接中断
我的代码在 Windows 中运行良好,但是当我在 mac 中编译并运行它时,recv 期间连接中断。
我正在使用 UDT RENDEZVOUS 模式进行连接,效果很好
我正在将 boost 套接字与 udt 套接字绑定。
在这里我的连接中断,错误说,套接字关闭,不存在
为什么连接只在recv期间断开?什么可能影响连接?
content-management-system - 模块中的 UDT
我正在尝试使用 CMS Made Simple v1.11.7 从模块内容中调用 UDT。有没有办法处理内容以便执行 UDT?我想以与页面内容相同的方式处理此模块的内容,以便用户定义的标签和全局内容块可用。