2011-07-19 53 views
2

我有一個希望實現對特定用戶羣聊天室的社交網絡。我正在尋找一個非常簡單的非第三方聊天,其中最好根據用戶登錄該網站時使用的授權ID自動使用用戶名(如此自動同步登錄)如果有人知道一個非常簡單一個你只需輸入你的名字和聊天,那也可以。建議有一個良好的非第三方簡單的聊天室

這裏是我所期待的視覺例子。這是一個從我使用的第三方聊天中使用的屏幕截圖 - 功能和視覺方面非常完美,除了您必須登錄到他們的網站才能使用它。

enter image description here

+1

「[非第三方](http://www.google.com.au/search?q=define+third+party&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB :官方與客戶端= firefox的-A&安全=激活)「?這意味着你要麼自己做,要麼就是你的客戶。 – RobG

+1

@RobG,不能同意更多。 LightingWrist,非第三方意味着你讓自己成爲自己。這是第一方的性質。你可以做一些第二方,但是可以採用外部源代碼並修改它,使其成爲第二方。 –

+0

感謝您的有用反饋! – LightningWrist

回答

1

我知道它是一個糟糕的答案,但我將建立它自己。困難的部分是從服務器的推動,我會檢查出http://socket.io/爲客戶端,並在後端某種非阻塞服務器(節點是目前最炒作,但有很多選項。) ,因爲長時間運行的持續連接會使大多數經典服務器非常快速地屈服於膝蓋。但是,一旦你失敗了,其餘部分就非常簡單了,並且你有與應用緊密集成的好處。

響應的評論在問題:取決於你的平臺是什麼。例如,我知道ASP.net將爲每個核心執行4個工作。因此,在一個四合一服務器上,你有16名工作人員正在服務你的所有非靜態請求。因此,如果您使用的是4核心服務器,則具有永久連接的16位用戶將完全阻止任何人無法訪問服務器。 Ruby和python有點複雜,但通常這個數字會更低。我真的不知道PHP在這個級別的工作方式,但我會想象這個故事會是相似的。

現在,較新的服務器有一個稱爲異步請求處理的功能,其中,而不是每個工人在使用時阻斷,每個工作塊只有當它們被正在發送或接收。正因爲如此,持續性連接在任何地方都無關緊要,因爲連接保持開放的時間並不重要,只有當你真的在做某件事時才重要。

之所以這麼說,從它聽起來像,伊恩的答案很可能是更適合您的情況。但是,再一次,這是因爲jabber專爲持久連接而設計。

+0

只有10-20個用戶使用此功能進行聊天時是否需要服務器功能? – LightningWrist

+0

@LightningWrist:在編輯中回答。簡短的答案可能是,但如果你的負載很低,這可能不是問題的最大答案。 –

1

我已經建立一個本地Jabber服務器在過去做到了這一點。至少有一些預建的JavaScript客戶端可以幫助您入門。

+0

嘗試[ejabberd](http://www.ejabberd.im/)&[JsJaC](http://blog.jwchat.org/jsjac/) – Ghostoy

+0

的組合。看起來很甜美。謝謝。 – LightningWrist