同步点与异步点之间的通信
Communication between synchronous and asynchronous points
我的场景中包含三个元素:
A = 浏览器
B = J2EE 服务器侦听 Websockets 和简单的 GET 请求
C = Java 应用程序通过 websockets 连接到 B
A 向 B 发出 GET 请求(同步),B 发送包含请求信息的 Websocket 消息,C 响应(异步)并且 B 应该像开始时一样在 SAME context/request/thread 内发回响应。
A B C
| ---- GET request ---> | ----- Websocket message ------> |
| | <---- Websocket response ------ |
| <---- response ----- |
我的问题是,如何在等待 C 的响应时停止左侧的 GET 请求。B 可以充当那些 synchronous/asynchronous 元素之间的中间点吗?
我猜你应该在 B 端做类似 "long polling" 的事情。
看看Implementing long polling in an asynchronous fashion
这对我很有帮助,而且效果很好。 https://github.com/mejmo/async2sync
我的场景中包含三个元素:
A = 浏览器
B = J2EE 服务器侦听 Websockets 和简单的 GET 请求
C = Java 应用程序通过 websockets 连接到 B
A 向 B 发出 GET 请求(同步),B 发送包含请求信息的 Websocket 消息,C 响应(异步)并且 B 应该像开始时一样在 SAME context/request/thread 内发回响应。
A B C
| ---- GET request ---> | ----- Websocket message ------> |
| | <---- Websocket response ------ |
| <---- response ----- |
我的问题是,如何在等待 C 的响应时停止左侧的 GET 请求。B 可以充当那些 synchronous/asynchronous 元素之间的中间点吗?
我猜你应该在 B 端做类似 "long polling" 的事情。 看看Implementing long polling in an asynchronous fashion
这对我很有帮助,而且效果很好。 https://github.com/mejmo/async2sync