亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#使用WebSocket與網(wǎng)頁實(shí)時通信的實(shí)現(xiàn)示例

 更新時間:2022年08月22日 08:28:01   作者:Three Big Stones  
本文主要介紹了C#使用WebSocket與網(wǎng)頁實(shí)時通信的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

目的:使用Fleck框架實(shí)現(xiàn)網(wǎng)頁與服務(wù)端實(shí)時通信

傳統(tǒng)的網(wǎng)站采用http方式與服務(wù)端通信,屬于請求響應(yīng)模式,如何讓網(wǎng)頁與服務(wù)器之間能使用TCP這種雙向通信方式實(shí)時交流,答案就是使用WebSocket技術(shù)。

Fleck框架的安裝方式:

1、使用NuGet包管理工具安裝

Install-Package Fleck -Version 1.2.0

2、下載Fleck源碼并編譯程序集供服務(wù)端引用

github地址:https://github.com/statianzo/Fleck/archive/refs/heads/master.zip

gitee地址:https://gitee.com/mylikekefu/Fleck/repository/archive/master.zip

直接在VS中打開項(xiàng)目,并生成fleck項(xiàng)目程序集

3、新建WebSocket服務(wù)端項(xiàng)目,命名WebSocketConsoleApp

4、引用程序集Fleck.dll

5、程序入口類編寫服務(wù)端代碼,如下所示:

        static void Main(string[] args)
        {
            FleckLog.Level = LogLevel.Debug;
            var allSockets = new List<IWebSocketConnection>();
            var server = new WebSocketServer("ws://192.168.3.3:50000");
            server.Start(socket => {
            //客戶端連接上服務(wù)端,則在socket列表添加一個客戶端
            socket.OnOpen = () => {
                Console.WriteLine("Open!");
                allSockets.Add(socket);
            };
            //客戶端離線,則從socket列表刪除這個客戶端
            socket.OnClose = () => {
                Console.WriteLine("Close!");
                allSockets.Remove(socket);
            };
            socket.OnMessage = message => {
                Console.WriteLine(message);
                //給發(fā)送消息的客戶端回復(fù)一條消息
                socket.Send("Echo:" + message);
            });
 
            var input = Console.ReadLine();
            //給所有客戶端發(fā)送消息
            while(input!="exit")
            {
                foreach (var socket in allSockets.ToList())
                {
                    socket.Send(input);
                }
                input = Console.ReadLine();
            }
        }

6、啟動項(xiàng)目,打印如下信息,服務(wù)端啟動成功。

7、新建客戶端,使用瀏覽器F12控制臺模擬websocket客戶端,代碼如下所示:

ws = new WebSocket("ws://192.168.3.3:50000");
ws.onopen = function() { 
    ws.send('websocekt測試'); 
};
ws.onmessage = function(e) {
    alert("收到服務(wù)端的消息:" + e.data);
};

打開兩個瀏覽器頁面,分別F12,控制臺中輸入以上代碼,表示新建了兩個客戶端,將會分別收到服務(wù)端回復(fù)的消息。

在其中一個客戶端輸入代碼:ws.send('xtt');發(fā)現(xiàn)只有這個客戶端收到了回復(fù)的消息。

查看服務(wù)端打印情況如下所示:

 到此這篇關(guān)于C#使用WebSocket與網(wǎng)頁實(shí)時通信的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)C# WebSocket與網(wǎng)頁實(shí)時通信內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論