回答
這不是那麼簡單。它使用http://www.mibbit.com/chat,這是一個用Javascript和Java編寫的完整的IRC客戶端。博客http://blog.mibbit.com/。
我工作的第一部分是瀏覽器和服務器之間的通信。這是使用2個XMLHttpRequests完成的。第一個簡單的方法是將數據從瀏覽器發送到服務器。它利用保持活力,以最大限度地減少新的連接。
第二個XHR是'接收懶惰輪詢'之一。它連接到服務器,並且服務器將其保持打開狀態,直到有消息可用或超時過期。這一個也是保持活動狀態,所以下一個請求沿着同一個連接。
你最終得到的結果是2個連接對服務器保持開放,數據包(本例中是json)和一些http頭文件。 爲了確保服務器可以擴展,我使用nio在java中編寫了一個自定義webserver。它處理單個線程中的所有連接,正如我所說,可擴展到數以萬計的連接。
如果客戶端請求一個新的連接,它會向web服務器發送一個請求,然後連接出去並啓動代理服務器等等。它還在irc連接的情況下運行ident服務器,以便irc服務器可以識別個人瀏覽器。我研究了現有的框架等來做這種事情,但我很重視學習它是如何工作的,並且認爲我的用例可能足夠具體以便能夠優化比一般框架更多的功能。
因此,這將是「長期投票」,然後;) – caf 2010-03-24 01:07:40
- 1. CometD(Bayeux協議Comet)使用HTTP流還是HTTP長輪詢?
- 2. 聊天/論壇應用程序:長輪詢還是iframe?
- 3. Facebook是否使用長輪詢進行聊天和通知?
- 4. 擴展聊天應用 - 短輪詢與長輪詢(AJAX,PHP)
- 5. AJAX輪詢頻率 - 要長期輪詢還是不輪詢長輪詢?
- 6. 與長輪詢的Android聊天
- 7. 使用長輪詢時的聊天應用程序問題
- 8. 長時間輪詢使用sleep的JQUERY聊天()
- 9. 這個程序使用長輪詢?
- 10. 這個聊天腳本是否有效?
- 11. 討論:通過node.js聊天服務器:HTTP還是TCP?
- 12. 簡單的PHP長輪詢聊天腳本,太簡單了?
- 13. Asp.Net聊天服務器端輪詢
- 14. Ajax聊天輪詢帶寬效率
- 15. PHP實時與ajax輪詢聊天
- 16. 哪個更好?長時間的TCP連接還是長時間輪詢?
- 17. PHP私聊長輪詢整合
- 18. 什麼是長輪詢,以及如何在Android中使用它對於聊天項目
- 19. 使用1000聊天用戶的Ajax輪詢
- 20. 今天還在使用DES還是3DES?
- 21. 設置Cookie以記憶聊天框是打開還是關閉
- 22. 在Django中構建實時聊天應用(長輪詢)的最佳方式是什麼?
- 23. 使用NSURLConnection的長輪詢
- 24. 使用異步長輪詢?
- 25. Facebook是否使用彗星或長輪詢來獲取新的流和消息?
- 26. JSONP長輪詢總是加載
- 27. 這是長輪詢的當前實施嗎?
- 28. 如何創建不是由輪詢驅動的聊天服務器?
- 29. Spring Boot http請求長輪詢
- 30. Domino HTTP任務和長輪詢
這不是一個編程問題,是嗎? – Gabe 2010-03-23 17:45:16
網站現在已關閉 – 2012-03-14 14:17:43