同步与异步发送\接收的问题!
做了一个与三菱PLC通讯的程序,使用TCP协议,我是用流来发送和接收的。通讯的具体规则如下:当PLC发送一个数据给计算机后,计算机必须发回一个“响应”(十六进制的E0),然后PLC才接着发送下一个数据;当计算机给PLC发送数据,PLC接收完后会自动给计算机发回一个“响应”(十六进制的00);我现在是写的程序是同步接收和发送,用了一个线程负责接收,可以顺利接收到从PLC发过来的数据;用一个button_click事件来发送数据,但却不能实现;请问这是什么原因?一定要用异步发送和接收吗?同步和异步到底有什么区别?
你试试发送出去到等待的时候用一个while循环
里面暂停当前线程,至于用哪种方式暂停,看实际情况
Application.DoEvent
Lock()
Thread.Sleep()
.... 反正等到plc执行完毕返回为止