windows - 如何加速 Windows XP 应用程序中的 UDP 通信

标签 windows visual-c++ windows-xp network-programming udp

我正在对软件进行一些维护,并且遇到一个我不明白的问题。

应用程序是使用 Microsoft Visual C++ 6 开发的,并在 Windows XP 上运行。它由 21 个通过 UDP 套接字相互通信的应用程序组成。它是嵌入式航空电子系统的仿真,用于在PC环境中调试系统。每个应用程序都模拟嵌入式系统中的一个节点,并且嵌入式网络是通过 UDP 模拟的。该系统最初可以在多台 PC 上运行,但现在可以在单台四核机器上运行。

系统正在运行,但通信速度慢得令人烦恼。然而,打开 Internet Explorer 并访问一两个网站会导致我的应用程序之间突然快速通信。

所以我的问题是,Internet Explorer 在访问网站时设置了什么,以便我的应用程序也可以设置它?该系统的原作者已不在人世,而且我也几乎没有 Windows 编程经验。

最佳答案

这可能根本不是 Windows 问题

  1. 检查您的 API,检查缓冲区并检查错误消息“getlasterror()”,该消息不会导致无效 (-1) 并停止程序尝试使用它,即使您的程序运行完美,它可能会产生有用的警告

  2. 检查 ACK 或攻击速度,这是通过网络连接传输大量数据时的常见问题(<-- 90% 这是您的问题),这里有一个关于该主题的有用主题 (support.microsoft.com/kb/823764)

  3. 如果这些解决方案都不起作用,请尝试根据制造商网站检查您的驱动程序版本。

  4. 最后的手段是那些有用的想法: 。使用此程序 www.lvllord.de 将最大半/开放连接从 8 增加到 50 。使用Windows服务器版本可以增强一些基于互联网的程序 。如果您在多线程应用程序中的不同线程中使用超过 2 个套接字,则使用带有套接字 API 的多线程可能会对 API 造成一些困惑,请尝试使用异步套接字或类似的东西来优化性能 ( msdn.microsoft.com/en- us/library/ms738551(VS.85).aspx )

So my question is what did Internet Explorer set when visiting a web site so that my application can also set it? None of the original authors of the system is still around and I have very little windows programming experience.

可能是 ACK 在 wiki 上检查它..这在其他方面意味着攻击速度..如果不是,那么它将是接收窗口大小
这两个设置对用户来说都是不可见的..但可以通过诸如调整实用程序或任何通用网络隐藏设置调节器之类的程序进行设置
它可能会起作用..

关于windows - 如何加速 Windows XP 应用程序中的 UDP 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1818309/

相关文章:

c - Windows 上的 gcc 会产生垃圾吗? Windows 与 Linux

windows - 为什么反斜杠在 Windows 和 Web 中有不同的含义

windows - 如何使用Dragon NaturallySpeaking的高级脚本使扬声器静音?

batch-file - 一个批处理文件如何获取另一个的退出代码?

c# - 尝试使用 .net 4.0 在 XP sp3 上运行 TLS1.2

c++ - 使用c++程序挂起系统

C++ 将赋值移动到未初始化的对象?

c++ - #include <gdiplus.h> 导致错误

c++ - 无法调用 std::function

c# - 在 Windows XP 中无法在 msvcrt.dll 中找到点 _except_handler4_common