带 SSL 流的 UDP

UDP with SSL Stream

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

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

对于 UDP,您需要改用 DTLS。根据 Wikipedia the Microsoft TLS Stack SChannel support DTLS 1.0 since Windows 7 and Windows 2008 R2. But when searching for C# DTLS 的说法,出现了很多问题,但没有任何问题表明 C# 对 DTLS 有原生支持。但是一些第三方库出现在这个搜索中,这可能有助于解决你的问题。