2012-06-03 95 views
0

對不起,滿口的標題!關於關於用戶列表的聊天的連接/斷開的處理

基本上,我正在編寫一些代碼,它包括一個聊天室。我想知道如何處理人員加入和離開。

我在HTML和Javascript中做這件事,想知道當某人離開或加入時,是否更好地將整個更新的人員列表發送給其他人,或只發送人員的姓名加入或離開。

基本上,假設有人離開了一個10人的聊天室。 (房間通常會有10人或更少的人)。服務器將更新後的9人列表發送給所有其他客戶端更明智一些,只需從列表框中刪除所有項目並重新填充即可;或者是否應該向每個發送「此人加入/離開」消息的人發送消息,然後每個客戶都可以相應地更新他們的用戶列表框。

據我所知,在JavaScript中,你不能只是去一個列表框中的項目,並將其刪除。你必須遍歷整個列表框,並找到所需的項目,將其刪除。在這種情況下,我認爲在我的情況下,發送整個更新列表可能會更好,因爲在一個房間內通常不會有超過10人,並且它更安全,用戶也不會因爲陌生而彼此脫離關係連接問題。這確實是這樣嗎?

回答

1

該決定完全取決於實施。

從基本觀點來看,發送完整列表更加符合防彈要求,以保持列表的一致性,並且更易於維護和實施。

只發送更改到客戶端的瀏覽器將提供較少的帶寬使用兩端,如果執行得好,就足夠了。

但是,如果帶寬不是問題,並且您的項目是一箇中小範圍的項目,那麼我會選擇第一個選項,這個選項更易於實施和維護 - 除非您正在尋找挑戰或者申請一個龐大的用戶數,然後去第二個選項。

最終,這個決定取決於程序員的良知。

編輯:由於這不直接與代碼,也許這個問題更適合於Programmers