簡體   English   中英

在我的網絡服務器上實施實時聊天系統的最佳方法是什么?

[英]What's the best way to implement a Live chat system on my webserver?

我對基於Jabber的東西感興趣,但我沒有找到一個免費/開源的,所以我想寫一個。

我已經安裝了一個Jabber服務器,現在正在考慮我可以編寫客戶端的方式。 我正在考慮這兩種方法中的一種。

1)對在web服務器上運行的jabber腳本進行ajax調用,該腳本負責連接到服務器。 但后來我想,由於jabber客戶端中涉及的依賴關系,當一些客戶端連接時,它可能最終消耗太多內存。

2)另一種方法是運行一個作為守護進程運行的客戶端來處理所有繁重的工作。 這樣我只需要一個客戶端實例發送一個欺騙性消息(發件人的名字就像用戶在網站上輸入的那樣)。 在Web服務器上運行的一個簡單腳本通過某種API(可能是XMLRPC或Msgpack)與該守護進程通信?

我認為#2更好,但我不確定。 還有其他方法可以實現嗎? 我正在考慮使用Perl或Python。

Jabber現在通常被稱為XMPP,並且有許多客戶端和服務器,適用於所有語言。 如果你使用Javascript(你提到Ajax),你可能想要Strophe 大多數服務器都是模塊化的,因此您只需加載所需的功能(考慮Tigase,ejabberd或xmpppy)。 寫自己的想法比聽起來更糟糕。

BOSH

  1. 安裝韻律因為它實際安裝得很好並且內置了BOSH支持。 你可以跳過這個,但是你需要找到如何通過ejabberd使用BOSH。
  2. 使用strophe.js來實現它(使用BOSH)。 新瀏覽器支持跨域請求( CORS - >讀取無代理BOSH部分)。 舊的瀏覽器可以使用代理或在中間使用閃存作為代理。
  3. 閱讀使用JavaScript和jQuery的專業XMPP編程來學習strophe。 它甚至還有章節解釋如何創建聊天。

Node.js的

或者您可以考慮安裝node.js以使用socket.io創建聊天系統。

暫無
暫無

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

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