實作多日 , 一個簡單的 Comet Chat Demo

網址 : http://testcode.pigo.idv.tw/NetServ/CxClient/demo/simplechat/

非常簡單的 chat , 沒有用到任何資料庫及檔案讀寫 , 完全透過 Comet Exchange Server 作資料交換 , 完全即時聊天

Script Language 採用 PHP , Comet Exchange Server 採用 C# 開發

改天我弄好一點會放出完整的 Source Code

原先我是要先做 Comet Http Server 的 , 但我現在先做了 Comet Exchange Server (簡稱 CxServer)

CxServer 主要構想是可以讓 HTTP Server CGI 之間可以做資料交換 , CGI 部分任何語言都可以開發 , 如 php , asp.net 等 , 然後 CGI 和 Browser 在不斷線的情況下接收其它 CGI 傳遞的資料並且將資料再傳遞給 Browser , 在應用方面就可以玩很多即時性的  , 如即時聊天 , 即時 web game , 即時股票看盤 , 即時監控系統等等都可以利用這種資料交換特性而實作出來

而在系統相容方面 , 由於採用 C# 開發 , 所以只要有 .NET 環境即可 , 我目前的 DEMO 連同 CxServer 都是跑在 Linux OpenVZ 下的虛擬 CentOS 及 mono 的平台 , 所以沒有所謂移植性問題 , 唯一的相容性問題就是 ,  CxServer 的封包協定中由於有有些欄位是 Int16 或 Int32 , 這在編碼成封包的時候會按照硬體(CPU)而有所謂 little endian 或 big endlian , 如果 CxServer 及 CxClient 是不同類型的 CPU 可能會發生問題而已

當然後續我會繼續實驗封裝好通訊協定及 API , 目前只先開發 PHP 版的 CxClient API , 想說再過一些日子我完全實作好封包協定好 , 才會開始進行其它語言的 CxClient API

5 則評論在 實作多日 , 一個簡單的 Comet Chat Demo.

  1. 阿育 :

    期待!!

    回報目前發現的問題:

    1.訊息反應速度有些慢(應該跟網路速度有關)
    2.Firefox Tab上會一直顯示loading狀態

    server 在我家啦… 沒辦法 !
    loading 狀態是因為從未斷線過. 可能是我 iframe 一開始就有指定 src .
    這個只是 demo . 我仍在實驗中

  2. 通告: 我一個半途夭折的想法 « 色胚子部落

  3. 挖 這好像不錯耶 我一直在找這個東西
    如果可以的話,能分享你的 Source Code給我嗎?
    尚不完整也沒關係,我想來改進我的聊天室
    不然一直用reflesh好討厭

發佈留言