簡體   English   中英

Web服務和Web應用程序之間雙向通信的可能方式是什么

[英]what are the possible ways of two-way communication between web-service and web application

我有一個需要相互通信的Web應用程序和Web服務。 這種通信必須是雙向通信,因為Web應用程序可以將發生在接口的事件發送到Web服務。 Web服務可以將第三方收到的事件發送到Web應用程序部分。 那么,為此我應該遵循什么設計? 如何使這種交流成為雙向交流?

問候,安舒爾

您可以通過采用Comet模型(有時稱為反向AJAX)來實現。 它是通過長期輪詢或打開與Web服務的持久連接來實現的。

在長輪詢模式下,客戶端打開與Web服務的連接,並等待服務器的響應。 當服務器到客戶端發生事件時,服務器僅使用該現有連接進行響應並關閉該連接,然后客戶端讀取響應,然后立即打開新連接以偵聽更多事件。

在流模式下,連接是持久的,不會在每次服務器事件后關閉。 可以使用帶有隱藏iframe的HTTP / 1.1分塊響應來完成此任務。

無論采用哪種客戶端實現,請注意使用Comet可能會導致服務器端的打開連接數量過多。 在決定Web服務器堆棧/ Web框架時,應考慮到這一點-理想情況下,它應使用非阻塞I / O和延續來斷開長連接與服務器線程的耦合。

某些Web框架已內置Comet支持: 播放提升

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM