<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      netcore vue socket.io

      netcore vue socket.io

      一、后端

      1. 創建項目

        # 添加解決方案
        > dotnet new sln -n Apricot.Socket.IO
        
        # 添加 asp net core 項目
        > dotnet new web -n Apricot.Socket.IO
        
        # 將 web 項目添加至解決方案
        > dotnet sln add Apricot.Socket.IO/Apricot.Socket.IO.csproj
        
      2. 安裝依賴

        >  dotnet add package SocketIOSharp --version 2.0.3
        
      3. 配置服務

        using var server = new SocketIOServer(new SocketIOServerOption(9001));
        
         Console.WriteLine("Listening on " + server.Option.Port);
        
         // Handle client connections
         server.OnConnection((socket) =>
         {
             Console.WriteLine("Client connected!");
        
             // on "readFile" event
             socket.On("readFile", async (JToken[] data) =>
             {
                 Console.WriteLine($"start: {DateTime.Now:mm:ss.fff}");
        
                 using var fileStream = System.IO.File.OpenRead("C:\\Users\\Administrator\\Desktop\\2fdda3cc7cd98d1001e9f6a7b36eaf0e7bec54e73a51.jpg");
        
                 var memeoryStream = new MemoryStream();
        
                 await fileStream.CopyToAsync(memeoryStream);
        
                 var buffer = memeoryStream.ToArray();
        
                 Console.WriteLine($"emit: {DateTime.Now:mm:ss.fff}");
        
                 socket.Emit("readfile", new
                 {
                     Code = 200,
                     Data = Convert.ToBase64String(buffer)
                 });
        
                 Console.WriteLine($"end: {DateTime.Now:mm:ss.fff}");
             });
        
             // on "error" event
             socket.On("error", () =>
             {
                 throw new Exception("Test exception from server.");
             });
        
             // on "disconnect" event
             socket.On(SocketIOEvent.DISCONNECT, () =>
             {
                 Console.WriteLine("Client disconnected!");
             });
        
             // Emit "echo" event to client
             socket.Emit("echo", new byte[] { 0, 1, 2, 3, 4, 5 });
         });
        
         // Start the server
         server.Start();
        
         Console.WriteLine("Input /exit to exit program.");
         string line;
        
         while (!(line = Console.ReadLine())?.Trim()?.ToLower()?.Equals("/exit") ?? false)
         {
             server.Emit("echo", line);
         }
        
         Console.WriteLine("Press enter to continue...");
         Console.Read();
        
      4. 運行服務

        > dotnet run Apricot.Socket.IO/Apricot.Socket.IO.csproj
        
      5. 運行截圖

        image

      6. 參考

      二、前端

      1. 創建項目
        > vue create apricot-socket.io
        
      2. 安裝依賴,注意:高版本不支持。
        > npm install socket.io-client@2.3.0 --save
        
      3. 編寫代碼
        <template>
         <div class="hello">
             <label for="socket.io-client">socket.io-client</label>:
             <input
             name="socket.io-client"
             type="button"
             value="socket.io-client"
             v-on:click="client"
             />
         </div>
         </template>
        
        
         <script>
         // socket io client
         var socket = require("socket.io-client")("http://localhost:9001/");
        
         const formatter = new Intl.DateTimeFormat("zh-CN", {
         year: "numeric",
         month: "long",
         day: "2-digit",
         hour: "2-digit",
         minute: "2-digit",
         second: "2-digit",
         fractionalSecondDigits: 3, // 包含毫秒
         hour12: false, // 使用24小時制
         });
        
         export default {
         name: "HelloWorld",
         components: {},
         computed: {},
         created() {
             // socket client connection
             socket.on("connection", function () {
             console.log("connected!");
             socket.emit("input", "asdasdg");
             });
        
             // socket client error
             socket.on("error", function (error) {
             console.log("error!"), error;
             socket.emit("error", "asdasdg");
             });
        
             // socket client echo
             socket.on("echo", function (data) {
             console.log("echo : " + data);
             });
        
             // socket client disconnect
             socket.on("disconnect", function () {
             console.log("disconnected!");
             });
        
             // socket client readfile
             socket.on("readfile", function (data) {
             var now = new Date();
        
             console.log("received:", formatter.format(now));
             console.log("echo : " + JSON.stringify(data));
             });
        
             console.log("input /exit to exit program.");
        
             // client to server
             socket.connect();
         },
         props: {
             msg: String,
             formatter: Intl.DateTimeFormat,
         },
         methods: {
             // eslint-disable-next-line
             client(event) {
             var now = new Date();
        
             console.log("send:", formatter.format(now));
             socket.emit("readFile", { fileName: "123.txt" });
             },
         },
         };
         </script>
        
         <!-- Add "scoped" attribute to limit CSS to this component only -->
         <style scoped>
         h3 {
         margin: 40px 0 0;
         }
         ul {
         list-style-type: none;
         padding: 0;
         }
         li {
         display: inline-block;
         margin: 0 10px;
         }
         a {
         color: #42b983;
         }
         </style>
        
        
      4. 發送數據
        image
      5. 參考
      posted @ 2025-10-28 18:40  1764564459  閱讀(4)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久精产国品一二三产品| 无线日本视频精品| 在线看片免费人成视频久网| 国产精品99一区二区三区| 久久九九日本韩国精品| 99久久亚洲综合精品成人网| 欧美嫩交一区二区三区| 国产精品久久久久影院色| 欧美大胆老熟妇乱子伦视频| 久久ww精品w免费人成| 欧美乱码卡一卡二卡四卡免费| 久久人人97超碰精品| 亚洲精品日本久久久中文字幕| 欧美中文字幕无线码视频 | 小伙无套内射老熟女精品| 国产午夜A理论毛片| 黄大仙区| 亚洲成A人片在线观看无码不卡| 国产目拍亚洲精品二区| 欧美成人影院亚洲综合图| 99久久无色码中文字幕| 手机看片日本在线观看视频| 免费人成在线视频无码| 麻豆国产传媒精品视频| 亚洲日本中文字幕天天更新| 国产日产欧产系列| 久久亚洲av成人无码软件| 亚洲精品中文字幕无码蜜桃| 国产精品白嫩极品在线看| 亚洲精品一区二区制服| 亚洲美免无码中文字幕在线| 久久中精品中文字幕入口| 欧美成本人视频免费播放| 天天综合色天天综合色h| 中文国产成人精品久久不卡| 国产不卡一区二区三区视频| 鹰潭市| 亚洲欧美综合中文| 日本一区二区三区免费播放视频站| 亚洲一卡2卡3卡4卡精品| 三级黄色片一区二区三区|