我有两个程序在它们之间传输UDP消息。第一个程序是模拟器,另一个程序是控制器。
模拟器和控制器都是用C ++编写的。我希望模拟器将模拟状态传输给控制器,控制器又将控制信号发送到模拟器。所有消息都不到1kb。
我现在使用UDP进行以太网连接。前2-3秒的速度很好,然后它显着下降到原始速度的1/10。我怀疑这是由于网络拥塞造成的。
问题: 我虽然UDP比TCP快,但你认为TCP会因拥塞而加快吗?我能做些什么来提高速度吗?
编辑:我如何衡量速度
我刚做了一些不同长度的模拟
您可以看到模拟运行较长时间后速度会下降。
EDIT2:阻止/非阻止
我正在使用无阻塞发送和阻止接收。模拟使用Simulink编写,接收和发送实现为两个C ++ - 块。 我的猜测是首先发送,然后运行接收块。 没有固定的间隔。计算完成后发送。这一切都在一个线程中。