我使用C++ UDP通信, 由于包大小限制, 以及通信间隔的限制, 数据量连1MB/s都达不到.
求教有相关经验的开发者.
如果本身传输的慢,就和带宽和网线关系不大了。
"由于包大小限制, 以及通信间隔的限制" —— 你说说速率如何算,是不是这两个参数决定速率。
首先要知道,1000mb/s的网络,理论速度125MB/s,考虑到网线损耗,无线电干扰,电磁干扰,误码重传,操作系统性能和网卡的硬件延迟,等等原因,本人的家用千兆网络实际速度可以达到110MB/s到115MB/s,也就是说你用简单的编程方法(单线程读固态硬盘TCP或UDP传输大块数据)都可以达到100MB/s的速度;而你说的这个情况,你需要排除是否是硬件问题,建议那两个电脑直插互联千兆网,然后直接用网络数据copy的方法测试网络,如果达到100MB/s左右就可以确认硬件环境没有问题;由于直插互联的方式测试,可以不考虑包大小的限制问题,这时可以使用常见的标准包大小,然后再测试代码问题。说下个人的观点,你这个问题大概是编程问题。