ClientSocket用非阻塞发送数据,会延迟,会吗?
ClientSocket用非阻塞模式给PLC发送数据,每发送一条,PLC都会返回一条。
我用两个定时器发送数据,50ms一次,因为这样看不出问题,所以我加了一个按钮,点击一次发送一条数据,如果PLC接收到我按钮点击发出的指令,灯会闪烁一下,现在问题出现了
鼠标点击之后2~3秒灯才会亮一下,也就是有延迟,这是为什么啊?
[解决办法]
如果你的网络正常,那基本应该是你的代码问题,ClientSocket不会存在这种问题,他是socket的API封装,没有更复杂的内容。
根据你的说明,问题可能有2个:
1、你的2个Timer之间可能互相影响,或者有条件作用,造成发送不正常
2、你的PLC响应较慢,你可以独立将要发送的指令不依赖任何Timer简单发送测试下