所谓同步通信,就是发送方和接收方在发送接收消息的时候必须设定一个公用的时钟频率来保持同步,通信时基本是连续不中断的。
所谓异步通信,就是发送方发送消息后,接收方不必随时监听有没有传过来的消息,但传送的消息必须有起始位、校验位和结束位等信号,确保接收的信息不出错。
举个简单的例子:大家平时都用的qq就包含这样的思想。
我们用的文件传输功能可以看成是同步通信的典范。首先传文件的双方必须都说好一个传文件的时间,如果双方有一个不在线上,就不能传送。其次,发送方发送文件命令后,接收方要确认一下是否接收,这就是个建立文件传输连接的过程。一旦传输开始,所有文件数据就必须连续的传输过去,任何中断都将导致传输失败。
而异步通信的例子就是我们用的最多的qq发送文字形式的聊天。比如A要发给B一个文字消息:“在吗?”。这时B有可能不在线上,但这消息并不马上就丢失,只要B在一定的时间间隔内(比如几天)打开qq,登录上线就能收到这条消息。但与同步通信相同的一点:发送方必须指明发送对象才能保证异步通信的正确性。如果明明要给B发消息,却打开C的对话框发送本该给B的消息,那B永远都接收不了这一消息了。
转自:http://blog.163.com/myasp@126/blog/static/4005563820071204110111/