我想知道如何控制网络接口的速率。实际上,我希望以32 Kbits / s的速率接收,并以1 Mbits / s的速率将接收到的数据发送到网络。 ...你对如何控制界面的速度有任何想法吗?....或者你知道任何有用的技巧吗?...
提前致谢..
答案 0 :(得分:1)
数据吞吐率与连接的波特率之间存在差异。通常,您希望波特率尽可能快(当然没有错误)。一些低级驱动程序或操作系统可能允许您控制它,但它基本上是一个低级硬件/驱动程序问题。
对于数据吞吐率,限制发送很容易,只是不要快速调用send()。这要求您跟踪每个时间段发送的数量,并通过睡眠限制它。
接收可以以相同的方式工作,但您必须考虑如果有人发送的速度超过您收到的速度,则可能存在问题。
答案 1 :(得分:0)
你可以这样做,你必须只控制时间,并且在第二次和相同的发送练习中,只能控制时间超过32kbits(你可以在函数参数中设置)。
答案 2 :(得分:0)
我已经“艰难地”完成了这项工作(如果有更简单的方法,那就不知道了)。具体来说,我通过控制调用send()和/或recv()的速率,以及我在每次调用中表示愿意发送/接收的数据量来做到这一点。这样做需要一些数学,但这并非不可能。