最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用Fleck實現(xiàn)創(chuàng)建WebSocket服務(wù)器

 更新時間:2024年01月11日 09:22:07   作者:rjcql  
這篇文章主要為大家詳細介紹了C#如何使用Fleck實現(xiàn)創(chuàng)建WebSocket服務(wù)器,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

寫在前面

Fleck 是 C# 實現(xiàn)的 WebSocket 服務(wù)器,通過 WebSocket API,瀏覽器和服務(wù)器只需要做一個握手的動作,然后瀏覽器和服務(wù)器之間就形成了一條快速通道;兩者之間就可以直接雙工數(shù)據(jù)通訊,改變了原有的B/S模式。整個實現(xiàn)過程的代碼非常簡單,分為服務(wù)端和客戶端兩部分,服務(wù)端用控制臺,客戶端只有一個內(nèi)嵌js的html文件。

老規(guī)矩用NuGet安裝Fleck類庫。

代碼實現(xiàn)

服務(wù)端代碼

using Fleck;
public class WebSocketServerDemo
{
    public static void Main(string[] args)
    {
        var server = new WebSocketServer("ws://127.0.0.1:7181");
        server.Start(socket =>
        {
            socket.OnOpen = () => Console.WriteLine("Open!");
            socket.OnClose = () => Console.WriteLine("Close!");
            socket.OnMessage = message =>
            {
                Console.WriteLine(message);
                socket.Send(message + " from server");
            };
        });
        Console.WriteLine("Server Started");
 
        Console.ReadLine();
    }
}

客戶端代碼

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>WebSocket Demo</title>
    <script type="text/javascript">
        var start = function () {
            var inc = document.getElementById('incomming');
            var wsImpl = window.WebSocket || window.MozWebSocket;
            var form = document.getElementById('sendForm');
            var input = document.getElementById('sendText');
 
            inc.innerHTML += "connecting to server ...<br/>";
 
            // 創(chuàng)建新的websocket新連接端口為7181
            window.ws = new wsImpl('ws://127.0.0.1:7181/');
 
            // 當(dāng)數(shù)據(jù)從服務(wù)器服務(wù)中心發(fā)送后,繼續(xù)向下運行過程
            ws.onmessage = function (evt) {
                inc.innerHTML += evt.data + '<br/>';
            };
 
            // 當(dāng)鏈接對象找到服務(wù)端成功對接后,提示正常打開
            ws.onopen = function () {
                inc.innerHTML += 'connection opened<br/>';
            };
 
            // 當(dāng)鏈接對象未找找到服務(wù)端成功對接后,提示打開失敗,別切單項關(guān)閉
            ws.onclose = function () {
                inc.innerHTML += 'connection closed<br/>';
            }
 
            form.addEventListener('submit', function (e) {
                e.preventDefault();
                var val = input.value;
                ws.send(val);
                input.value = "";
            });
        }
        window.onload = start;
    </script>
</head>
<body>
    <form id="sendForm">
        <input id="sendText" placeholder="Text to send" />
    </form>
    <pre id="incomming"></pre>
</body>
</html>

調(diào)用示例

先啟動服務(wù)端,建立監(jiān)聽,等待客戶端的連接。

用瀏覽器打開html 文件,這邊用的是Chrome:

到此這篇關(guān)于C#使用Fleck實現(xiàn)創(chuàng)建WebSocket服務(wù)器的文章就介紹到這了,更多相關(guān)C#創(chuàng)建WebSocket服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • UpdateLayeredWindow實現(xiàn)任意異形窗口使用詳解

    UpdateLayeredWindow實現(xiàn)任意異形窗口使用詳解

    這篇文章主要為大家介紹了UpdateLayeredWindow實現(xiàn)任意異形窗口使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • C# 創(chuàng)建文本文件寫入讀取實現(xiàn)代碼

    C# 創(chuàng)建文本文件寫入讀取實現(xiàn)代碼

    C# 創(chuàng)建文本文件寫入讀取,可以用來做系統(tǒng)日志或程序操作日志或者錯誤記錄,需要的朋友可以參考下。
    2011-11-11
  • 關(guān)于C#轉(zhuǎn)換二進制所引起的一些思考

    關(guān)于C#轉(zhuǎn)換二進制所引起的一些思考

    這篇文章主要給大家介紹了關(guān)于C#轉(zhuǎn)換二進制所引起的一些思考,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • C# 生成JWT的示例代碼

    C# 生成JWT的示例代碼

    這篇文章主要介紹了C# 生成JWT的示例代碼,需要的朋友可以參考下
    2009-04-04
  • C#?wpf?通過HwndHost渲染視頻的實現(xiàn)方法

    C#?wpf?通過HwndHost渲染視頻的實現(xiàn)方法

    日常開發(fā)中,特別是音視頻開發(fā),需要在界面上渲染視頻,比如制作一個播放器、或者視頻編輯工具、以及視頻會議客戶端。通常拿到的是像素格式數(shù)據(jù),此時需要渲染到wpf窗口上就需要一定的方法,本文介紹一種通過hwnd渲染的方法,控件既能提供hwnd又能嵌入wpf窗口里
    2021-11-11
  • C#使用IHttpModule接口修改http輸出的方法

    C#使用IHttpModule接口修改http輸出的方法

    這篇文章主要介紹了C#使用IHttpModule接口修改http輸出的方法,涉及C#操作IHttpModule接口的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • C#使用Spire.Doc?for?.NET實現(xiàn)Word首頁面頁眉頁腳不同設(shè)置指南

    C#使用Spire.Doc?for?.NET實現(xiàn)Word首頁面頁眉頁腳不同設(shè)置指南

    在遠程辦公時代,C#?Word文檔自動化需求激增,然而開發(fā)者常遇痛點:手動調(diào)整不同的Word首頁頁眉頁腳繁瑣,耗時長,且Interop依賴Office環(huán)境,部署難、跨平臺弱,因此本文給大家介紹了C#使用Spire.Doc?for?.NET實現(xiàn)Word首頁面眉頁腳不同設(shè)置指南,需要的朋友可以參考下
    2026-03-03
  • C#中的依賴注入Dependency Injection DI的實現(xiàn)步驟

    C#中的依賴注入Dependency Injection DI的實現(xiàn)步驟

    在C#中依賴注入是一種實現(xiàn)控制反轉(zhuǎn)的設(shè)計模式,用于解耦組件依賴關(guān)系,下面就來介紹一下依賴注入的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2025-06-06
  • Unity AssetBundle打包工具示例詳解

    Unity AssetBundle打包工具示例詳解

    這篇文章主要介紹了Unity AssetBundle打包工具,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • C#實現(xiàn)word和pdf格式互轉(zhuǎn)

    C#實現(xiàn)word和pdf格式互轉(zhuǎn)

    這篇文章主要為大家詳細介紹了如何通過C#實現(xiàn)word和pdf格式互轉(zhuǎn)功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10

最新評論

饶河县| 九龙县| 渭南市| 平和县| 新竹市| 繁峙县| 南漳县| 射阳县| 嘉兴市| 商都县| 涿州市| 吴忠市| 龙门县| 竹溪县| 满洲里市| 北海市| 金阳县| 万盛区| 华亭县| 天水市| 裕民县| 苍山县| 金湖县| 工布江达县| 彰武县| 岗巴县| 抚州市| 白河县| 扶余县| 崇州市| 翁牛特旗| 育儿| 秦安县| 沭阳县| 南宁市| 玛纳斯县| 丰城市| 丘北县| 渭源县| 常州市| 芦溪县|