带有 SSL 流的 UDP

问题描述 投票:0回答:2

嗨,我正在使用 C# 开发服务器/客户端项目,该项目同时使用 TCP(用于登录和其他内容)和 UDP(用于流语音)。问题是我需要对 UDP 使用 sslStream,但据我所知,不可能使用无保证的协议进行 SSL 身份验证。那么有没有办法先使用 TCP 进行身份验证,然后使用 sslStream 进行 UDP?

c# ssl udp sslstream
2个回答
2
投票

对C#和sslStream不太了解,但是:UDP是一种数据报协议,它不保证数据包的传递、顺序,甚至可能导致重复传递。相反,TCP 是一种保证传输等的流协议。TLS 仅在 TCP 等协议之上工作,而不能在 UDP 之上工作。

对于 UDP,您需要使用 DTLS。根据Wikipedia,Microsoft TLS Stack SChannel 从 Windows 7 和 Windows 2008 R2 开始支持 DTLS 1.0。但是,当搜索 C# DTLS 时,会出现很多问题,但没有任何迹象表明 C# 对 DTLS 具有本机支持。但是一些第三方库出现在这个搜索中,这可能有助于解决您的问题。


0
投票

kcp协议可以做到。谷歌一下。

© www.soinside.com 2019 - 2024. All rights reserved.