客户端和服务器之间的同步和异步数据传输

时间:2014-07-12 15:30:08

标签: asynchronous network-programming

我理解程序中线程化的同步和异步概念,但我不确定这在通信中意味着什么。
更具体地说,我对在服务器和客户端之间进行异步通信意味着什么感到困惑......

在同步通信中,请纠正我,如果我错了,一方发送消息,然后等待接收响应,当响应到达时,它再次发送消息等等......
在异步模式下会发生什么? 我总是想象一个双向管道,其中没有规则或协议来传递信息,而且无论何时感觉,双方都只是将字节射入管道,并且在两侧都是读写管道发生在两个不同的线程中。是这样吗?
也就是说,再次,只是一个疯狂的猜测,如果有人有解释我喜欢阅读。

1 个答案:

答案 0 :(得分:13)

你对同步通信是正确的。对于异步通信,它的工作方式如下: 客户端向服务器发送消息,并可选择指定从服务器接收响应时要执行的操作。同时客户端可以继续做其他事情,但是当服务器发送响应时,客户端知道如何处理响应并处理响应。这通常是通过"回调"功能

尝试将此想象为发送和接收电子邮件,您可以发送电子邮件,但由于您不知道在收件人向您发送回电子邮件之前还需要多长时间,您将继续您的日常生活。收件人会收到您的电子邮件并向您发送回复。收到电子邮件后,您决定下一步。 我希望这个解释可以帮助您概念化客户端和服务器之间的同步通信。