Asp.Net Mvc基於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
沒有留言:
張貼留言