Python:TCP数据包排队积压

时间:2014-01-09 16:11:14

标签: python sockets tcp

我正在用Python 3.3编写一个脚本来接收来自硬件的传感器值,并以一定的速率在Blender中显示它们。这是通过从笔记本电脑到传感器控制盒的TCP连接进行的,传感器充当TCP服务器并以125 Hz的频率发送传感器值。

问题是我在Blender中的场景更新被设置为较低的频率(10-30Hz,即“电影速度”),这是性能和保持动画帧速率所必需的。

脚本连接正常并接收值,但是它会在短时间内失败并超时,并且它似乎正在接收“滞后”数据包(即数据显然不是实时数据,而是落后于数据)。 / p>

在我看来 - 由于价值的发送速度远高于收到的价格 - 因此消息积压越来越多,最终导致连接失败。

我已经找到了解决方案,但我对这一切都很陌生,所以我不知道该去哪看。任何帮助都将非常感谢,我可以发布示例代码,虽然它不是很简单的TCP客户端示例!

我的想法是编写一个单独的'manager'脚本,它将在一个套接字上侦听125Hz的传入值并更新一组全局值,另一个进程将通过另一个套接字发送到我的Blender脚本,但我不知道如何确保其安全运行......

Python 3.3,Blender 2.69,Windows 7 64位

0 个答案:

没有答案