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



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

在同步通信中,如果我错了请纠正我,一方发送消息,然后等待接收响应,当响应到达时,它再次发送消息,以此类推…
在异步模式下会发生什么?
我总是想象一个双向管道,没有规则或协议规定该轮到谁来传输信息,双方只要愿意就把字节发送到管道中,在双方,对管道的读写发生在两个不同的线程中。是这样吗?
同样,这只是一个大胆的猜测,如果有人有解释,我很乐意阅读。

关于同步通信,您是正确的。对于异步通信,它是这样工作的:客户端向服务器发送消息,并可选择指定从服务器接收响应时要做什么。与此同时,客户端可以继续做其他事情,但是当服务器发送响应时,客户端知道如何处理该响应并处理该响应。这通常是通过"回调"函数完成的。

试着把这想象成发送和接收电子邮件,你可以发送一封电子邮件,但是因为你不知道收件人需要多长时间才能回复你一封电子邮件,所以你继续你的日常生活。收件人收到你的电子邮件并给你回复。收到邮件后,你决定下一步。我希望这个解释能帮助您理解客户机和服务器之间的同步通信。

最新更新