- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个项目,每 10-12 毫秒传输一串小数据包,<32 字节。当我使用 IP 地址将数据从计算机上的客户端发送到同一台计算机上的主机时,请注意不是本地主机,我没有遇到任何问题并且响应很快。但是,当我连接到机器外部的任何源时,我每秒只能获取 3 次数据。这很奇怪,因为我在传输文件和网络时有 100MB/s 的传输速度。我尝试使用 USB 连接和以太网连接的直接连接。我也试过WiFi。他们都每秒只给我更新 3 次。我在每种情况下都隔离了网络。
我还尝试了不同的程序,一个用 C++ 编写,另一个用 python 编写,以查看我的实现是否有误,但没有任何改变。因为它在我本地连接时有效,所以我看不出编程和网络代码是如何受到指责的。
我尝试更新驱动程序,但没有解决问题。我尝试用完全相同的组件和软件构建一个新桌面。它适用于该 PC。
老实说,对于这个烦人的问题,我找不到单一的模式或解释,更不用说解决方案了。
什么会导致这种行为?它不能是缓冲区,因为它在本地工作?我尝试更改它并使客户端每秒仅发送 10 次数据。它不应该是数据包丢失,因为我在没有无线的本地网络上使用 TCP。两台 PC 和一根以太网线。
网页加载速度快,YouTube 视频加载速度快,其他一切都运行良好且快速。下载和上传也很快。
这个问题快把我逼疯了。请拯救我的理智。
预先感谢您的帮助。
最佳答案
你已经开启了唠叨。这是默认设置。它对数据进行批处理并每 200 毫秒发送一次。所以它确实是 5 Hz,而不是您估计的 3 Hz。
禁用唠叨。要小心,因为现在每一端都会产生一个网络数据包。
关于sockets - 连接到本地主机时延迟低,但使用外部主机时我每秒获取 3 次数据 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32616042/
我是一名优秀的程序员,十分优秀!