2024年4月18日 星期四

Fleck開發的多人網頁版即時聊天室

 Asp.Net Mvc基於Fleck開發的多人網頁版即時聊天室

Fleck 的簡要說明

1、最簡單、最常用的調用方法:(ws://172.10.3.4:8111改成您的伺服器本地IP和埠)


//控制台代碼

var server = new WebSocketServer("ws://172.10.3.4:8111");

server.Start(socket =>

{

  socket.OnOpen = () => Console.WriteLine("產生連接處理");

  socket.OnClose = () => Console.WriteLine("連接斷開處理");

  socket.OnMessage = (message) => {

  //1、此方法用於接收客戶端發送來的消息

  //2、可以做一些自己的操作,例如存入資料庫

  //3、為了響應客戶端,一般會使用下麵的send函數,返迴響應結果。

  socket.Send(message);

  }

});

2、Fleck本身只負責幫你單線聯繫。也就是客戶端A和伺服器建立連接後,會產生一個IWebSocketConnection,也就是上面代碼中socket變數的類型,它包含了接收方法、發送方法,但是都僅限於單一連接內。至於客戶端A想發送消息給客戶端B、C、D亦或者想群發,不好意思Fleck本身不Care。。。當然了那並不是這個功能就不能實現了,只是要開發者自己去把每一個IWebSocketConnection存儲起來,並管理他們的生存周期,通過自己的代碼去實現客戶端A給B發信息或者群發。


3、Fleck不需要額外的容器或進程來運行,它隨著IIS網站運行,也就是在w3wp.exe。至於它是怎麼運行的,目前我還沒有去看源碼,後期有時間再瞧瞧。


 


三、聊天室源碼位置


1、GitHub:https://github.com/DisSunRestart2020/DisSunChat


沒有留言:

張貼留言