專利名稱:一種配置聊天客戶終端的方法及裝置、聊天客戶終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)聊天技術(shù),特別是涉及一種配置聊天客戶終端的方法及裝置、聊 天客戶終端。
背景技術(shù):
網(wǎng)絡(luò)聊天室是在網(wǎng)絡(luò)上由兩個(gè)或兩個(gè)以上的用戶組成的會(huì)話室,以供用戶間通過 文字與符號(hào)進(jìn)行實(shí)時(shí)交談、聊天的場(chǎng)所。一種提供網(wǎng)絡(luò)聊天室功能的聊天系統(tǒng)包括客戶端 和WEB服務(wù)器,用戶通過客戶端的瀏覽器發(fā)送http(HyperText Transfer I^rotocol,超文本 傳輸協(xié)議)請(qǐng)求,獲取聊天室頁(yè)面進(jìn)行聊天;WEB服務(wù)器為客戶端提供聊天服務(wù)以及進(jìn)行聊
天室的管理。通常,客戶端使用AJAX(Asynchronous JavaScript and XML,異步 Javakript 和 XML)結(jié)合 PHP(Hypertext Pr印rocessor,超級(jí)文本預(yù)處理語(yǔ)言)/JSP(Java Server Pages, JAVA服務(wù)器頁(yè)面)等頁(yè)面技術(shù),具體工作方式為客戶端的瀏覽器頁(yè)面通過發(fā)送 xmlHttpRequest請(qǐng)求,通過http協(xié)議與TOB服務(wù)器交互,TOB服務(wù)器響應(yīng)請(qǐng)求,返回xml數(shù) 據(jù)對(duì)象,客戶端在瀏覽器下解析對(duì)象顯示。由于AJAX是一種局部刷新頁(yè)面的技術(shù),其可以減少頁(yè)面刷新的次數(shù),但其本質(zhì)還 是基于http協(xié)議的請(qǐng)求-響應(yīng)操作,也就是說,AJAX需要通過定時(shí)訪問WEB服務(wù)器來(lái)取得 最新的數(shù)據(jù),比如說間隔500毫秒對(duì)WEB服務(wù)器發(fā)起一次請(qǐng)求,不管此時(shí)TOB服務(wù)器端有沒 有新的數(shù)據(jù),均要對(duì)客戶端請(qǐng)求進(jìn)行響應(yīng),這樣必然會(huì)加重WEB服務(wù)器的負(fù)擔(dān),而當(dāng)WEB服 務(wù)器有數(shù)據(jù)更新的時(shí)候,其卻無(wú)法動(dòng)向客戶端發(fā)送,只有在收到客戶端的請(qǐng)求時(shí)才能向客 戶端發(fā)送,這樣的請(qǐng)求-響應(yīng)模式難以實(shí)現(xiàn)客戶端高并發(fā)(即多個(gè)客戶端同時(shí)向服務(wù)器發(fā) 送請(qǐng)求)、服務(wù)器端高訪問(即服務(wù)器端同時(shí)收到多個(gè)客戶端的訪問)情況下的實(shí)時(shí)響應(yīng); 另外,AJAX導(dǎo)致客戶端必須等到刷新數(shù)據(jù)的時(shí)候,才能從WEB服務(wù)器取到數(shù)據(jù),沒到刷新的 時(shí)候,客戶端無(wú)法獲悉WEB服務(wù)器中已更新的數(shù)據(jù),因此,也無(wú)法保證消息實(shí)時(shí)性。而且,將聊天室的應(yīng)用服務(wù)(包括為客戶端提供聊天服務(wù),以及對(duì)聊天室管理)均 部署WEB服務(wù)器上,由其獨(dú)立完成請(qǐng)求響應(yīng),而未根據(jù)業(yè)務(wù)需求的不同特點(diǎn)搭建分布式服 務(wù),造成服務(wù)器端穩(wěn)定性不可靠。此外,就客戶端而言,還存在以下缺陷AJAX需要由Javakript語(yǔ)言解析xml格式數(shù)據(jù),而不同的瀏覽器對(duì)xml解析方式 的支持不一致,這樣,易出現(xiàn)不同客戶端間的兼容性問題,例如,對(duì)于同樣的xml數(shù)據(jù),不同 客戶端間顯示出不同的結(jié)果,甚至導(dǎo)致xml數(shù)據(jù)在某些瀏覽器下無(wú)法解析,從而影響用戶 的使用;另外,由于客戶端使用的是AJAX和一般頁(yè)面技術(shù)的整合,其頁(yè)面顯示效果不夠豐 富多彩,特效效果不明顯,用戶的體驗(yàn)感覺難以提高。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提出一種配置聊天客戶終端的方法及聊天客戶終端,所要解決的技術(shù)問題為聊天客戶終端高并發(fā)的情況下,能夠獲得聊天服務(wù)器系統(tǒng)的實(shí)時(shí)響應(yīng)。本發(fā)明的目的及解決其技術(shù)問題是采用以下技術(shù)方案來(lái)實(shí)現(xiàn)的。依據(jù)本發(fā)明提出 的一種配置聊天客戶終端的方法,包括以下步驟=SOCKET連接設(shè)置步驟,設(shè)置聊天客戶終 端,使其與聊天服務(wù)器系統(tǒng)之間建立SOCKET連接,并保持與所述聊天服務(wù)器系統(tǒng)的連接。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)一步實(shí)現(xiàn)。前述的配置聊天客戶終端的方法,所述聊天服務(wù)器系統(tǒng)包括與所述聊天客戶終 端建立并保持SOCKET連接的SOCKET服務(wù)器;以及用于控制管理所述SOCKET服務(wù)器和聊天 客戶終端的聊天室管理服務(wù)器;該方法還包括管理連接設(shè)置步驟,設(shè)置所述聊天客戶端, 使其與所述聊天室管理服務(wù)器建立連接。前述的配置聊天客戶終端的方法,所述SOCKET服務(wù)器為MINA服務(wù)器。前述的配置聊天客戶終端的方法,所述聊天客戶終端為多個(gè),且所述MINA服務(wù)器 為多個(gè);該方法還包括交換機(jī)連接設(shè)置步驟,設(shè)置所述多個(gè)聊天客戶終端,使其通過交換 機(jī)與所述多個(gè)MINA服務(wù)器之間建立連接;其中,當(dāng)所述MINA服務(wù)器通過所述交換機(jī)從其連 接的聊天客戶終端接收的消息為私聊消息時(shí),所述MINA服務(wù)器判斷該私聊消息的接收方 是否為自身連接的聊天客戶終端,若是,則通過所述交換機(jī)將該私聊消息發(fā)送至該私聊消 息的接收方;若否,則通過JMS服務(wù)器將該私聊消息發(fā)送至接收方所屬的MINA服務(wù)器,并由 該接收方所屬的MINA服務(wù)器通過所述交換機(jī)將該私聊消息發(fā)送至該私聊消息的接收方。前述的配置聊天客戶終端的方法,所述MINA服務(wù)器包括信息存儲(chǔ)單元,該方法還 包括MINA存儲(chǔ)設(shè)置步驟,設(shè)置所述聊天客戶終端,使所述聊天客戶終端的信息存儲(chǔ)在所 述信息存儲(chǔ)單元中,從而所述MINA服務(wù)器通過所述信息存儲(chǔ)單元獲取其連接的聊天客戶 終端的信息,以將私聊信息發(fā)送至接收方。前述的配置聊天客戶終端的方法,所述聊天服務(wù)器系統(tǒng)還包括緩存服務(wù)器,該方 法還包括緩存設(shè)置步驟,設(shè)置所述聊天客戶終端,使所述聊天客戶終端信息存儲(chǔ)在所述緩 存服務(wù)器中,從而使所述MINA服務(wù)器通過所述緩存服務(wù)器判斷所述私聊消息的接收方是 否為自身連接的聊天客戶終端。本發(fā)明的目的及解決其技術(shù)問題另外還采用以下技術(shù)方案來(lái)實(shí)現(xiàn)。依據(jù)本發(fā)明提 出的一種配置聊天客戶終端的裝置,包括=SOCKET連接設(shè)置單元,用于設(shè)置聊天客戶終端, 使其與聊天服務(wù)器系統(tǒng)之間建立SOCKET連接,并保持與所述聊天服務(wù)器系統(tǒng)的連接。本發(fā)明的目的及解決其技術(shù)問題另外還采用以下技術(shù)方案來(lái)實(shí)現(xiàn)。依據(jù)本發(fā)明提 出的一種聊天客戶終端,包括=SOCKET單元,用于與聊天服務(wù)器系統(tǒng)建立SOCKET連接。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)一步實(shí)現(xiàn)。前述的聊天客戶終端,還包括FLASH單元,用于向用戶顯示信息并接收用戶輸 入。由上述技術(shù)方案可知,本發(fā)明具有以下有益效果在聊天客戶終端高并發(fā)的情況 下,能夠獲得聊天服務(wù)器端的實(shí)時(shí)響應(yīng)。通過以下參照附圖對(duì)優(yōu)選實(shí)施例的說明,本發(fā)明的上述以及其它目的、特征和優(yōu) 點(diǎn)將更加明顯。
圖1為本發(fā)明一實(shí)施例提供的配置聊天客戶終端的方法流程圖;圖2為本發(fā)明一實(shí)施例提供的聊天服務(wù)器系統(tǒng)的框圖;圖3為本發(fā)明另一實(shí)施例提供的聊天服務(wù)器系統(tǒng)的框圖;圖4為本發(fā)明一實(shí)施例的連接于同一 MINA服務(wù)器的兩個(gè)聊天客戶終端間私聊的 流程圖;圖5為本發(fā)明一實(shí)施例的連接于不同MINA服務(wù)器的兩個(gè)聊天客戶終端間私聊的 流程圖;圖6為本發(fā)明一實(shí)施例的聊天客戶終端發(fā)布廣播消息的流程圖。
具體實(shí)施例方式下面將詳細(xì)描述本發(fā)明的具體實(shí)施例。應(yīng)當(dāng)注意,這里描述的實(shí)施例只用于舉例 說明,并不用于限制本發(fā)明。請(qǐng)參閱圖1所示,其為本發(fā)明一實(shí)施例提供的配置聊天客戶終端的方法流程圖, 包括以下步驟=SOCKET連接設(shè)置步驟,設(shè)置聊天客戶終端,使其與聊天服務(wù)器系統(tǒng)之間建 立SOCKET連接,并保持與聊天服務(wù)器系統(tǒng)的連接。本領(lǐng)域技術(shù)人員知道基于TCP/IP協(xié)議的SOCKET (套接字)連接是比http協(xié)議 更底層的通信標(biāo)準(zhǔn),數(shù)據(jù)通過SOCKET字節(jié)流傳輸,具有更高的傳輸速率;而且,通過SOCKET 可以建立聊天客戶終端與聊天服務(wù)器系統(tǒng)的長(zhǎng)連接,在長(zhǎng)連接中,聊天服務(wù)器系統(tǒng)與聊天 客戶終端間在連接建立后會(huì)一直處于連接狀態(tài)。這樣,在本實(shí)施例中,聊天服務(wù)器系統(tǒng)與聊天客戶終端之間的連接一旦建立,聊天 服務(wù)器系統(tǒng)和聊天客戶終端都可以隨時(shí)向?qū)Ψ桨l(fā)送數(shù)據(jù),例如,當(dāng)聊天服務(wù)器系統(tǒng)發(fā)現(xiàn)某 一聊天客戶終端有新數(shù)據(jù)的時(shí)候,便會(huì)動(dòng)向該聊天客戶終端發(fā)送,而非像http協(xié)議那樣須 等到該聊天客戶終端的請(qǐng)求時(shí),才能將新的數(shù)據(jù)向其發(fā)送,網(wǎng)絡(luò)延遲的減小是顯而易見的, 具有更高的實(shí)時(shí)性;而且,對(duì)于聊天客戶終端而言,也并非向聊天服務(wù)器系統(tǒng)發(fā)出請(qǐng)求才能 接收數(shù)據(jù),從而減輕聊天服務(wù)器系統(tǒng)的負(fù)擔(dān);此外,基于http協(xié)議的通信,每條信息的發(fā)送 都會(huì)包含很多冗余信息,進(jìn)行符合http協(xié)議的包裝,而SOCKET通信不會(huì)有這些冗余信息, 發(fā)送同樣數(shù)量的字符需要傳送的數(shù)據(jù)量更少,這樣就節(jié)省了網(wǎng)絡(luò)帶寬,用戶感覺到的是數(shù) 據(jù)的發(fā)送和接收更加迅速。因此,即使聊天客戶終端高并發(fā)的情況下,也能夠獲得聊天服務(wù) 器系統(tǒng)的實(shí)時(shí)響應(yīng)。請(qǐng)參閱圖2所示,其為本發(fā)明一實(shí)施例提供的聊天服務(wù)器系統(tǒng)的框圖,該實(shí)施例 的聊天服務(wù)器系統(tǒng)1包括=SOCKET服務(wù)器11和聊天室管理服務(wù)器12。其中,SOCKET服務(wù) 器11與多個(gè)聊天客戶終端13建立SOCKET連接,并與多個(gè)聊天客戶終端13保持連接以向 其提供聊天服務(wù)。聊天室管理服務(wù)器12用于控制管理SOCKET服務(wù)器12和聊天客戶終端13,其可提 供除SOCKET服務(wù)器11所提供的聊天服務(wù)外的其他所有對(duì)聊天室的管理及配置功能,例如,維 護(hù)聊天室信息,公告信息的設(shè)置;維護(hù)敏感關(guān)鍵詞庫(kù)信息;以及聊天室初始化參數(shù)維護(hù)等。舉例而言,聊天室管理服務(wù)器12維護(hù)的一些聊天室的信息包括諸如聊天室的房 間列表、一個(gè)房間的人數(shù)等等。聊天客戶終端13通過請(qǐng)求聊天室管理服務(wù)器12來(lái)獲取這些信息,并且聊天客戶終端13從聊天室管理服務(wù)器12獲得一次上述信息后,就一直可以展 示在客戶終端界面,因此,在一實(shí)施例中,聊天室管理服務(wù)器12與聊天客戶終端13之間為 http連接,具體地說,聊天客戶終端13向聊天室管理服務(wù)器12發(fā)送http請(qǐng)求,并在獲取與 聊天室管理服務(wù)器12的連接以得到初始化數(shù)據(jù)后,斷開連接。在如圖2所示的實(shí)施例中,將聊天服務(wù)和聊天室的管理分別由SOCKET服務(wù)器11 和聊天室管理服務(wù)器12來(lái)實(shí)現(xiàn),使得管理服務(wù)獨(dú)立于聊天服務(wù),這樣不同的功能服務(wù),合 理分配在不同的服務(wù)器上,實(shí)現(xiàn)了管理與使用的分布式部署,從而提高聊天服務(wù)器系統(tǒng)的 穩(wěn)定性。在本實(shí)施例中,配置聊天客戶終端的方法還包括管理連接設(shè)置步驟設(shè)置所述聊 天客戶端,使其與所述聊天室管理服務(wù)器建立連接。在一實(shí)施例中,SOCKET服務(wù)器為基于 MINA(Multipurpose Infrastructurefor Network Applications,網(wǎng)絡(luò)應(yīng)用程序的通用基礎(chǔ)框架)構(gòu)造的MINA服務(wù)器,本領(lǐng)域技術(shù) 人員知道,MINA為現(xiàn)有技術(shù)中的一種網(wǎng)絡(luò)應(yīng)用程序框架,本實(shí)施例中使用其構(gòu)建MINA服務(wù) 器,可具有更高的穩(wěn)定性以保持與聊天客戶終端的長(zhǎng)連接。請(qǐng)參閱圖3所示,其為本發(fā)明另一實(shí)施例提供的聊天服務(wù)器系統(tǒng)的框圖,本實(shí)施 例的聊天服務(wù)器系統(tǒng)2中,包括多個(gè)MINA服務(wù)器21以構(gòu)成MINA服務(wù)器集群,聊天服務(wù)器系 統(tǒng)2還包括交換機(jī)22和JMS服務(wù)器23,其中,交換機(jī)22連接在多個(gè)聊天客戶終端13與多 個(gè)MINA服務(wù)器21之間,以實(shí)現(xiàn)負(fù)載均衡JMSCJava Message Service, Java消息服務(wù))服 務(wù)器23與多個(gè)MINA服務(wù)器21連接,當(dāng)某一 MINA服務(wù)器通過交換機(jī)22從其連接的聊天客 戶終端接收的消息為私聊消息(即只有作為接收方的聊天客戶終端能接收到的消息)時(shí), 該MINA服務(wù)器判斷該私聊消息的接收方是否為自身連接的聊天客戶終端,若是,則將該私 聊消息通過交換機(jī)22發(fā)送至相應(yīng)的作為接收方的聊天客戶終端;若否,則通過JMS服務(wù)器 23將該私聊消息發(fā)送至接收方所屬的MINA服務(wù)器,并由該接收方所屬的MINA服務(wù)器通過 交換機(jī)22將該私聊消息發(fā)送至相應(yīng)的作為接收方的聊天客戶終端,這樣,由JMS服務(wù)器23 實(shí)現(xiàn)了屬于不同MINA服務(wù)器的聊天客戶終端間的消息同步。在本實(shí)施例中,配置聊天客戶終端的方法還包括交換機(jī)連接設(shè)置步驟設(shè)置多個(gè) 聊天客戶終端,使其通過交換機(jī)與多個(gè)MINA服務(wù)器之間建立連接。MINA服務(wù)器21可包括信息存儲(chǔ)單元,用于存儲(chǔ)與該MINA服務(wù)器連接的聊天客 戶終端信息;MINA服務(wù)器可通過該信息存儲(chǔ)單元獲取其連接的聊天客戶終端信息,以將私 聊信息發(fā)送至相應(yīng)的聊天客戶終端。具體地,信息存儲(chǔ)單元可為在MINA服務(wù)器21中開辟 的一塊內(nèi)存,以存儲(chǔ)其連接的聊天客戶終端的聊天客戶終端信息,聊天客戶終端信息例如 包括保存了當(dāng)前用戶會(huì)話狀態(tài)的用戶會(huì)話信息,會(huì)話狀態(tài)包含用戶的IP等一些信息,可以 通過會(huì)話信息找到所屬的客戶終端。在本實(shí)施例中,配置聊天客戶終端的方法還包括MINA存儲(chǔ)設(shè)置步驟設(shè)置所述 聊天客戶終端,使所述聊天客戶終端的信息存儲(chǔ)在所述信息存儲(chǔ)單元中,從而所述MINA服 務(wù)器通過所述信息存儲(chǔ)單元獲取其連接的聊天客戶終端的信息,以將私聊信息發(fā)送至接收 方。在另外的一些實(shí)施例中,MINA服務(wù)器還用于對(duì)聊天客戶終端的請(qǐng)求進(jìn)行鑒權(quán)(例 如判斷是否為黑名單用戶,是否禁止其發(fā)言等),以決定是否對(duì)其進(jìn)行后續(xù)處理;所述JMS服務(wù)器還用于將來(lái)自所述聊天室管理服務(wù)器的控制命令發(fā)送至所述MINA服務(wù)器,其中控 制命令例如為踢人、禁言或關(guān)閉等。在一實(shí)施例中,該聊天服務(wù)器系統(tǒng)還包括緩存服務(wù)器M,用于存儲(chǔ)每個(gè)MINA服 務(wù)器所連接的聊天客戶終端信息,聊天客戶終端信息例如為客戶終端IP、用戶ID,用戶所 屬聊天室ID等;MINA服務(wù)器可通過該緩存單元M判斷上述私聊消息的接收方是否為自身 連接的聊天客戶終端,在本實(shí)施例中,將聊天客戶終端信息保存在緩存服務(wù)器M中,則不 需要使用數(shù)據(jù)庫(kù),因?yàn)橛脩敉ㄟ^聊天客戶終端13登錄了聊天室,就會(huì)有自已的信息,一旦 退出,這個(gè)信息就不再需要,下次再登錄,就是新的信息,這些信息是暫時(shí)的,所以,不需要 數(shù)據(jù)庫(kù)來(lái)保存,而使用緩存服務(wù)器M來(lái)保存。緩存服務(wù)器M還可保存MINA服務(wù)器集群的 其他共享信息,例如,每個(gè)聊天室房間的用戶基本信息(如用戶ID、用戶昵稱、所屬房間號(hào) 等)。聊天室管理服務(wù)器12也可從該緩存服務(wù)器M中獲取所需信息。在本實(shí)施例中,配置聊天客戶終端的方法還包括緩存設(shè)置步驟設(shè)置所述聊天客 戶終端,使所述聊天客戶終端信息存儲(chǔ)在所述緩存服務(wù)器中,從而使所述MINA服務(wù)器通過 所述緩存服務(wù)器判斷所述私聊消息的接收方是否為自身連接的聊天客戶終端。優(yōu)選地,緩存服務(wù)器M由高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng)Memcached來(lái)實(shí)現(xiàn), 本實(shí)施例中,將高性能系統(tǒng)Memcached用作內(nèi)存服務(wù),具有高效和運(yùn)行穩(wěn)定的優(yōu)點(diǎn)。在圖3所示的實(shí)施例中,通過交換機(jī)連接MINA服務(wù)器集群,能夠根據(jù)聊天服務(wù)需 要增加或減少M(fèi)INA服務(wù)器的數(shù)量,這樣,在無(wú)需重新設(shè)計(jì)該聊天服務(wù)器系統(tǒng)架構(gòu)的情況 下,便可根據(jù)實(shí)際情況對(duì)聊天服務(wù)器系統(tǒng)進(jìn)行橫向擴(kuò)展,從而提高了結(jié)構(gòu)的可擴(kuò)展性。請(qǐng)參閱圖4所示,其為本發(fā)時(shí)一實(shí)施例的連接于同一 MINA服務(wù)器的兩個(gè)聊天客戶 終端間私聊的流程圖,在本實(shí)施例中,作為發(fā)送方的聊天客戶終端A連接于MINA服務(wù)器A, 作為接收方的聊天客戶終端B也連接于MINA服務(wù)器A,聊天客戶終端A欲發(fā)送私聊消息至 聊天客戶終端B,執(zhí)行步驟如下Sll 聊天客戶終端A發(fā)送私聊消息至MINA服務(wù)器A,該私聊消息中包含接收方的 ID ;S12 =MINA服務(wù)器A根據(jù)接收方的ID從緩存服務(wù)器中獲取接收方所屬的MINA服 務(wù)器;S13 緩存服務(wù)器將接收方所屬的MINA服務(wù)器返回給MINA服務(wù)器A (在本實(shí)施例 中,接收方所屬的MINA服務(wù)器也為MINA服務(wù)器A);S14:MINA服務(wù)器A向聊天客戶終端A返回發(fā)送結(jié)果(成功或失敗);S15 :MINA服務(wù)器A根據(jù)接收方的ID從其內(nèi)部的信息存儲(chǔ)單元獲取接收方信息, 例如IP信息;S16 信息存儲(chǔ)單元將接收方信息返回給MINA服務(wù)器A,MINA服務(wù)器A由此獲知接 收方為聊天客戶終端B;S17 =MINA服務(wù)器A將私聊信息發(fā)送給聊天客戶終端B。請(qǐng)參閱圖5所示,其為本發(fā)明一實(shí)施例的連接于不同MINA服務(wù)器的兩個(gè)聊天客戶 終端間私聊的流程圖,在本實(shí)施例中,作為發(fā)送方的聊天客戶終端A連接于MINA服務(wù)器A, 作為接收方的聊天客戶終端B連接于MINA服務(wù)器B,聊天客戶終端A欲發(fā)送私聊消息至聊 天客戶終端B,執(zhí)行步驟如下
S21 聊天客戶終端A發(fā)送私聊消息至MINA服務(wù)器A,該私聊消息中包含接收方的 ID ;S22 =MINA服務(wù)器A根據(jù)接收方的ID從緩存服務(wù)器中獲取接收方所屬的MINA服 務(wù)器;S23 緩存服務(wù)器將接收方所屬的MINA服務(wù)器返回給MINA服務(wù)器A (在本實(shí)施例 中,接收方所屬的MINA服務(wù)器為MINA服務(wù)器B);S24 =MINA服務(wù)器A發(fā)送私聊消息到JMS服務(wù)器;在本實(shí)施例中,每個(gè)MINA服務(wù)器在JMS服務(wù)器上分別對(duì)應(yīng)一個(gè)JMS技術(shù)中的 QUEUE (隊(duì)列),以實(shí)現(xiàn)消息的順序處理,例如,MINA服務(wù)器A發(fā)送私聊消息到接收方所屬 MINA服務(wù)器(即MINA服務(wù)器B)對(duì)應(yīng)的QUEUE。S25 :MINA服務(wù)器A向聊天客戶終端A返回發(fā)送結(jié)果(成功或失敗);S26 JMS服務(wù)器傳遞私聊消息到接收方所屬M(fèi)INA服務(wù)器(即MINA服務(wù)器B);S27 =MINA服務(wù)器B根據(jù)接收方的ID從其內(nèi)部的信息存儲(chǔ)單元獲取接收方信息, 例如IP信息;S28 信息存儲(chǔ)單元將接收方信息返回給MINA服務(wù)器B,MINA服務(wù)器B由此獲知接 收方為聊天客戶終端B;S29 =MINA服務(wù)器B將私聊信息發(fā)送給聊天客戶終端B。在本發(fā)明的再一實(shí)施例中,當(dāng)所述MINA服務(wù)器從其連接的聊天客戶終端接收的 消息為廣播消息時(shí),所述MINA服務(wù)器將該廣播消息發(fā)送至JMS服務(wù)器,并由JMS服務(wù)器將 所述廣播消息向MINA服務(wù)器廣播,然后由MINA服務(wù)器向其所連接的聊天客戶終端廣播。其中,廣播消息可為某一聊天客戶終端向所有聊天客戶終端發(fā)送的消息,也可為 某一聊天客戶終端向其所屬的聊天室房間內(nèi)的所有用戶發(fā)送消息,即群聊。請(qǐng)參閱圖6所示,其為本發(fā)明一實(shí)施例的聊天客戶終端發(fā)布廣播消息的流程圖, 在本實(shí)施例中執(zhí)行步驟如下S31 聊天客戶終端發(fā)送廣播消息至MINA服務(wù)器;S32 =MINA服務(wù)器向聊天客戶終端返回發(fā)送結(jié)果(成功或失敗);S33 =MINA服務(wù)器A同步廣播消息到JMS服務(wù)器;在本實(shí)施例中,通過JMS服務(wù)器發(fā)布廣播消息由JMS技術(shù)中的TOPIC(題)對(duì)象實(shí) 現(xiàn)。S34 JMS服務(wù)器讀取TOPIC,下發(fā)廣播消息至所有MINA服務(wù)器;S35 :MINA服務(wù)器從其自身的信息存儲(chǔ)單元獲取各聊天客戶終端信息,例如IP信 息;S36 各MINA服務(wù)器根據(jù)客戶終端信息,將廣播消息發(fā)布至客戶終端,具體而言, 如果該廣播消息是發(fā)送到所有聊天客戶終端的,則MINA服務(wù)器將該廣播消息發(fā)布至所有 客戶終端;如果該廣播消息是發(fā)送到某一聊天室房間的,則MINA服務(wù)器會(huì)將該廣播消息發(fā) 送給屬于該聊天室房間的所有客戶終端。本發(fā)明的實(shí)施例還提供了一種配置聊天客戶終端的裝置,包括=SOCKET連接設(shè)置 單元,用于設(shè)置聊天客戶終端,使其與聊天服務(wù)器系統(tǒng)之間建立SOCKET連接,并保持與所 述聊天服務(wù)器系統(tǒng)的連接。
本實(shí)施例的配置聊天客戶終端的裝置,能夠使配置出的聊天客戶終端在高并發(fā)、 高訪問的情況下,依然能獲得聊天服務(wù)器系統(tǒng)實(shí)時(shí)響應(yīng)。進(jìn)一步地,本發(fā)明的實(shí)施例還提供了一種聊天客戶終端,包括=SOCKET單元,用于 與聊天服務(wù)器系統(tǒng)建立SOCKET連接,以實(shí)現(xiàn)在聊天客戶端高并發(fā)的情況下,依然能獲得聊 天服務(wù)器系統(tǒng)的實(shí)時(shí)響應(yīng)。在本發(fā)明的一實(shí)施例中,該聊天客戶終端還包括采用了 FLASH技術(shù)的FLASH單 元,用于向用戶顯示信息并接收用戶輸入,能夠避免了由于不同的瀏覽器對(duì)xml解析方式 的支持不一致所帶來(lái)的兼容性問題,而且FLASH技術(shù)能使頁(yè)面顯示效果豐富多彩,特效效 果明顯,用戶體驗(yàn)得以提高。具體地,SOCKET單元以及FLASH單元可為能夠執(zhí)行存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介 質(zhì)中的包含SOCKET程序或FLASH程序的CPU等硬件。所述的存儲(chǔ)介質(zhì)包括ROM/RAM (Read Only Memory/Random-Access Memory,只讀存儲(chǔ)器/隨機(jī)訪問內(nèi)存)、磁碟或者光盤等。雖然已參照幾個(gè)典型實(shí)施例描述了本發(fā)明,但應(yīng)當(dāng)理解,所用的術(shù)語(yǔ)是說明和示 例性、而非限制性的術(shù)語(yǔ)。由于本發(fā)明能夠以多種形式具體實(shí)施而不脫離發(fā)明的精神或?qū)?質(zhì),所以應(yīng)當(dāng)理解,上述實(shí)施例不限于任何前述的細(xì)節(jié),而應(yīng)在隨附權(quán)利要求所限定的精神 和范圍內(nèi)廣泛地解釋,因此落入權(quán)利要求或其等效范圍內(nèi)的全部變化和改型都應(yīng)為隨附權(quán) 利要求所涵蓋。
權(quán)利要求
1.一種配置聊天客戶終端的方法,其特征在于,包括以下步驟SOCKET連接設(shè)置步驟,設(shè)置聊天客戶終端,使其與聊天服務(wù)器系統(tǒng)之間建立SOCKET連 接,并保持與所述聊天服務(wù)器系統(tǒng)的連接。
2.根據(jù)權(quán)利要求1所述的配置聊天客戶終端的方法,其特征在于,所述聊天服務(wù)器系 統(tǒng)包括與所述聊天客戶終端建立并保持SOCKET連接的SOCKET服務(wù)器;以及用于控制管 理所述SOCKET服務(wù)器和聊天客戶終端的聊天室管理服務(wù)器;該方法還包括管理連接設(shè)置步驟,設(shè)置所述聊天客戶端,使其與所述聊天室管理服務(wù)器建立連接。
3.根據(jù)權(quán)利要求2所述的配置聊天客戶終端的方法,其特征在于,所述SOCKET服務(wù)器 為MINA服務(wù)器。
4.根據(jù)權(quán)利要求3所述的配置聊天客戶終端的方法,其特征在于,所述聊天客戶終端 為多個(gè),且所述MINA服務(wù)器為多個(gè);該方法還包括交換機(jī)連接設(shè)置步驟,及置所述多個(gè)聊天客戶終端,使其通過交換機(jī)與所述多個(gè)MINA 服務(wù)器之間建立連接;其中,當(dāng)所述MINA服務(wù)器通過所述交換機(jī)從其連接的聊天客戶終端接收的消息為私 聊消息時(shí),所述MINA服務(wù)器判斷該私聊消息的接收方是否為自身連接的聊天客戶終端,若 是,則通過所述交換機(jī)將該私聊消息發(fā)送至該私聊消息的接收方;若否,則通過JMS服務(wù)器 將該私聊消息發(fā)送至接收方所屬的MINA服務(wù)器,并由該接收方所屬的MINA服務(wù)器通過所 述交換機(jī)將該私聊消息發(fā)送至該私聊消息的接收方。
5.根據(jù)權(quán)利要求4所述的配置聊天客戶終端的方法,其特征在于,所述MINA服務(wù)器包 括信息存儲(chǔ)單元,該方法還包括MINA存儲(chǔ)設(shè)置步驟,設(shè)置所述聊天客戶終端,使所述聊天客戶終端的信息存儲(chǔ)在所述 信息存儲(chǔ)單元中,從而所述MINA服務(wù)器通過所述信息存儲(chǔ)單元獲取其連接的聊天客戶終 端的信息,以將私聊信息發(fā)送至接收方。
6.根據(jù)權(quán)利要求4所述的配置聊天客戶終端的方法,其特征在于,所述聊天服務(wù)器系 統(tǒng)還包括緩存服務(wù)器,該方法還包括緩存設(shè)置步驟,設(shè)置所述聊天客戶終端,使所述聊天客戶終端信息存儲(chǔ)在所述緩存服 務(wù)器中,從而使所述MINA服務(wù)器通過所述緩存服務(wù)器判斷所述私聊消息的接收方是否為 自身連接的聊天客戶終端。
7.一種配置聊天客戶終端的裝置,其特征在于,包括SOCKET連接設(shè)置單元,用于設(shè)置聊天客戶終端,使其與聊天服務(wù)器系統(tǒng)之間建立 SOCKET連接,并保持與所述聊天服務(wù)器系統(tǒng)的連接。
8.一種聊天客戶終端,其特征在于,包括SOCKET單元,用于與聊天服務(wù)器系統(tǒng)建立SOCKET連接。
9.根據(jù)權(quán)利要求8所述的聊天客戶終端,其特征在于,還包括FLASH單元,用于向用戶顯示信息并接收用戶輸入。
全文摘要
本發(fā)明公開了一種配置聊天客戶終端的方法及裝置、聊天客戶終端,該方法包括以下步驟SOCKET連接設(shè)置步驟,設(shè)置聊天客戶終端,使其與聊天服務(wù)器系統(tǒng)之間建立SOCKET連接,并保持與所述聊天服務(wù)器系統(tǒng)的連接。本發(fā)明在聊天客戶端高并發(fā)的情況下,也能夠獲得聊天服務(wù)器端的實(shí)時(shí)響應(yīng)。
文檔編號(hào)H04L12/58GK102118325SQ201010568250
公開日2011年7月6日 申請(qǐng)日期2010年11月30日 優(yōu)先權(quán)日2010年11月30日
發(fā)明者王碩 申請(qǐng)人:北京迅捷英翔網(wǎng)絡(luò)科技有限公司