雖然可以輪詢web服務,但是您是否知道另一種將更改推送到移動客戶端的方法,除了使用交換服務器郵件傳輸?如何將數據推送到.NET CF客戶端?
回答
作爲Mark Seemann worte:當我在Microsoft Dynamics Mobile團隊中時,曾經爲.NET CF做過客戶端通知系統的POC操作。
當時我沒有找到任何可以做到這一點的開箱即用解決方案,並且我不想搭載Exchange Server連接,因爲預期用戶沒有AD帳戶,大多數證明沒有使用交換服務器。所以我和你現在的情況一樣。我開始尋找可能的解決辦法...
我意識到,服務器coudn't連接到客戶端,因爲這個不斷變化的IP地址(3G將無線網絡,失去連接等)。該地必須連接到服務器。此外,我發現大多數網絡允許HTTP連接,但並不總是通過自定義端口的自定義TCP連接。
我用「彗星」做從客戶(.NET CF)服務器長期持有的http請求(IIS),並使用該連接推通知到客戶端。如果客戶在發出通知之前得到超時,它只會發出新的請求。
在服務器端我使用的AsyncHttpHandler的combnation並等待該檢查消息發送到連接的客戶機的每秒的線程。使用AsyncHttpHandler很重要,否則會阻塞IIS服務器。
POC運作良好,它證明是一個可靠的解決方案。這有一些缺點:如果你不小心,你會很快耗盡電池。
不幸的是簡單的參與,我在這裏發佈的代碼的代碼行數太多,但如果你喜歡,你更是歡迎與我聯繫,我會向您發送電子郵件我的POC。
+1酷你加入派對:) – 2010-01-07 19:46:22
回來時,我在Microsoft動態移動團隊工作(直到2009年1月),沒有其他內置的方式做到這一點就不是通過Exchange服務器的郵件傳輸其他.NET CF。
然而,我的一個同事做了秒殺,其中移動客戶端openened HTTP連接到服務,並保持它開放,從而使服務對,它可能會推動一個開放的通道。
AFAIK,這基本上是Exchange Server郵件傳輸的功能。 IIRC,他得到了它正常的工作,但我會鳴叫他,看能不能讓他幫腔
下面是使用一些選項在內部網絡:
- MSQM
- TcpListener
對於選項1,您需要安裝另一個基礎設施,但您獲得了標準的API和協議。
對於第二種選擇,你必須實現你自己的協議。
這兩個選項僅適用於封閉環境!
@downvoter,我的回答有什麼問題? – 2010-01-08 07:28:10
嘗試檢出WebSync,這是IIS/.NET的comet服務器。它現在得到了完整的緊湊框架支持。
- 1. 將數據推送到flex客戶端
- 2. 如何通過SignalR將遙測數據推送到客戶端?
- 3. 服務器如何將數據推送到客戶端?
- 4. 如何將數據從asp.net推送到flash/silverlight客戶端?
- 5. 如何將數據從Java servlet推送到Android客戶端
- 6. 服務器應如何將數據推送到富客戶端
- 7. 如何將數據推送到客戶端瀏覽器php
- 8. 如何將數據推送到客戶端服務器
- 9. XMPP如何將數據推送到客戶端?
- 10. 如何使用jQuery或JavaScript將服務器端數據推送到客戶端?
- 11. 如何將數據從服務器端自動推送到迴轉客戶端?
- 12. .NET Ria服務可以將數據從服務器推送到客戶端嗎?
- 13. .NET Ria服務可以將數據從服務器推送到客戶端嗎?
- 14. 將客戶端元數據推送到服務器
- 15. PHP將數據推送到客戶端而不提取
- 16. Rails:使用Heroku將數據推送到客戶端
- 17. 將數據從AppService推送到客戶端項目
- 18. 將服務器/數據庫事件推送到客戶端
- 19. 推送器:如何將推送器客戶端設置爲intilizer?
- 20. 如何將數據從一個客戶端發送到另一個客戶端?
- 21. 如何使用socket.io將數據庫中的更改推送到客戶端?
- 22. 如何將更新文件推送到客戶端?
- 23. 如何將變量推送到Web客戶端以獲取Ajax?
- 24. ASP.NET如何將通知推送到客戶端(與Gmail相同)
- 25. 如何在iOS中將推送客戶端連接到Heroku
- 26. 推送器如何將數據發送給選定的客戶端
- 27. 如何將.net中的修補程序發送到客戶端
- 28. 如何將json對象從java發送到.net客戶端?
- 29. 如何推送/通知客戶端nodejs中的新數據?
- 30. 如何將數據從java servlet發送到Android客戶端
你介意分享你提到的(POC)的源代碼嗎? – 2010-12-03 06:31:15