一、服務端代碼
服務端的主要工作,就是添加各種事件的監聽,然後在監聽進行中,做相應的處理即可。
注:添加事件監聽時,如果重複添加監聽,會導緻事件被處理多次,是以最好在添加事件監聽前,先移除之前已經存在的監聽,類似下面這樣
二、用戶端代碼
用戶端類似,也是加一些事件監聽,然後做相應處理即可。
上面的例子,示範了client向server連接配接時,如何做基本的連接配接認證(基于token),以及基本的消息收發。
運作效果:
服務端輸出
sessionId:f52e9fa3-6216-4742-87de-3228a74469f9,token:87df42a424c48313ef6063e6a5c63297
client data:hello
用戶端輸出
sessionId:f52e9fa3-6216-4742-87de-3228a74469f9
hi
收到伺服器應答,将要斷開連接配接...
連接配接關閉
注:架構已經自帶了一些預設的事件,見下面的代碼片段
如果不夠的話,可以自行擴充,無非就是一些字元串常量。
三、廣播消息隔離
前面的示例,沒有"域"的概念,所有連到socket server上的client,如果收發廣播的話,全都能收到,如果隻希望将消息發到指定的某一"批"使用者,可以讓這些client歸到某個域(或組織機構)裡,這樣在指定的域範圍内廣播,隻有在這個域内的client才能接受廣播,詳見下面的示例:(其實變化很小)
server端:
用戶端:
注意上面連接配接時,room1的指定,其它就不多說了,代碼就是最好的注釋:)