2009-08-20 103 views
0

這可能是一個愚蠢的問題 - 標題可能需要改進......我想我的要求很簡單:我想發送一個請求,從客戶端的數據到服務器程序,而服務器(而不是客戶端)應該用「收到你的請求 - 處理它」之類的迴應。客戶然後做其他工作。然後當服務器獲得數據時,它應該發送一個異步消息(一個彈出框),說:「我已經獲得了你的數據;點擊...(可能是一個URL)來獲取數據」。我一直假設服務器可以用Java編寫,而客戶端是html和JavaScript。我一直沒有想出一個乾淨的解決方案 - 幫助將不勝感激。來自服務器的一個客戶端請求的多個回覆

回答

1

嘗試通過服務器端使用「SuperWebSocket」,客戶端使用「WebSocket4Net」使用「WebSocket方法」。它對我目前的項目非常有用。

1

大部分工作都會使服務器異步。要做到這一點,你必須

  1. 不得不啓動工作,並返回一個確認工作已經啓動服務器Ajax調用。
  2. 服務器上的一個頁面,它將返回用戶是否完成任何作業。
  3. 在你的客戶端有一個ajax小部件,它經常在服務器上查看這個頁面,看是否有任何工作已經完成。如果是這樣,彈出一個。

除非您使用Flex數據服務,否則這是唯一的方法。

0

你是否試圖在HTTP協議上做到這一點?這聽起來像是你在談論一個Web應用程序,但從這個問題來看還不清楚。如果是這樣,那麼有許多技術可以使用AJAX來實現這個功能,這些技術統稱爲「Comet」。具體取決於你想要完成什麼,在客戶端和服務器端的一些不同的實現可能是合適的。

0

純Java我建議是這樣的JGroups(客戶端+服務器都是Java) 爲HTML,你應該使用AJAX - 你有來檢查每X秒

0

現在你有一個可替代的技術使用計時器:Websockets。這些用於服務器 - >客戶端通信而無需輪詢或ajax式延遲響應。

+0

感謝您的反饋!聽起來這只是等待適當技術出現的問題!我最近也被告知HTML5解決了這個問題 - 評論? – 2011-05-01 13:42:47

+0

Websockets是稱爲HTML5的大捆綁包的一個非常新的部分。 – gbjbaanb 2011-05-01 14:39:41

相關問題