IE盒子

搜索
查看: 124|回复: 2

关于.NET 6 中 Quic

[复制链接]

2

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-9-23 15:51:24 | 显示全部楼层 |阅读模式
Quic简介

目前该技术已经被.NET 6 内部集成 System.Net.Quic,未来开发低延迟的项目将更加简单。

Quic场景


这里不得不说到 HTTP 3.0 协议, 让网页加载变的一块再快,游戏行业,发包率频繁的行业都是不错的 场景 本身就是基于Udp的上层协议,最大程度的降低了开发 高频率,低延迟的应用复杂度,对核心技术的要求大大降低。

一、创建QuicListener

代码如下(示例):
using System;
using System.Net.Quic;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var options = new System.Net.Security.SslServerAuthenticationOptions();
            QuicListener quicListener = new(System.Net.IPEndPoint.Parse("192.168.1.22:666"), options);
            quicListener.Start();
            QuicConnection quicConnection = quicListener.AcceptConnectionAsync().Result;
   QuicStream quicStream = quicConnection.AcceptStreamAsync().Result;
            Console.WriteLine("Hello World!");
            Console.ReadKey();
        }
    }
}
二、建立连接 QuicConnection
代码如下(示例):
using System;
using System.Net.Quic;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            QuicConnection quic = new(System.Net.IPEndPoint.Parse("192.168.1.22:666"), new System.Net.Security.SslClientAuthenticationOptions());
            quic.ConnectAsync().AsTask().Wait();
            QuicStream quicStream = quic.AcceptStreamAsync().Result;
            Console.WriteLine("Hello World!");
            Console.ReadKey();
        }
    }
}
三、QuicStream
代码如下(示例):
using System;
using System.Net.Quic;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            quicStream.WriteAsync(System.Text.Encoding.UTF8.GetBytes("哈哈哈"));
            byte[] buffer;
            int count = quicStream.ReadAsync(buffer = new byte[1000]).Result;
            string str = System.Text.Encoding.UTF8.GetString(buffer, 0, count);
            Console.WriteLine(str);
            Console.ReadKey();
        }
    }
}
总结
提示:目前 System.Net.Quic 还在完善中,后期会更加理想,一起期待吧!
转自:逆-血
链接:http://blog.csdn.net/qq_33484542/article/details/114578164
其他推荐:
玩转Github:ASP.NET Core入门学习资源汇总
学习C#有没有什么比较系统的资源?
.net core高频面试题有哪些?
玩转Github:强烈推荐这份.NET程序员面试手册,4万字干货!
有哪些不错的windows form开源项目推荐?
回复

使用道具 举报

3

主题

9

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2022-9-23 15:51:52 | 显示全部楼层
这是类似signalr 和gprc 的东西吗
回复

使用道具 举报

3

主题

7

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2022-9-23 15:52:15 | 显示全部楼层
这是http/3 底层的通信协议,http/3不再基于tcp,所以短期内不太可能得到推广
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表