代码之家  ›  专栏  ›  技术社区  ›  Matthew Goulart

向使用SocketAsyncEventArgs构建的服务器添加加密

  •  2
  • Matthew Goulart  · 技术社区  · 8 年前

    我到处找了找,很惊讶地发现 绝对没什么 这就回答了这个问题:

    在使用SSL/TLS时,如何实现SSL/TLS(或类似)加密 SocketAsyncEventArgs ? 我确实读过那篇 能够 理论上使用 SslStream 以及“欺骗”,通过创建中间人来协调流内外的数据,以及套接字之间的数据。这一切似乎都很荒谬。。。

    我查看了BouncyCastle,但它们似乎不支持服务器端加密。诚然,这些信息的来源已经有近10年的历史了,但我自己的研究没有发现任何结果。

    我对改变我的服务器架构不感兴趣,所以请不要告诉我“我真的不需要 SocketAsyncEVentArgs 应该换成 TcpListener ".

    我对在客户端和服务器之间使用 SocketAsyncEventArgs .

    1 回复  |  直到 8 年前
        1
  •  1
  •   Marc Gravell    8 年前

    没有直接的方法将SAEA附加到加密上。它们没有共同的API,所以一切都是桥。

    最简单的方法是——正如你所知- SslStream ,但是:这通常与 SocketAsyncEventArgs 。还有其他选择——例如,我可以想出至少3种不同的方法来使用“管道”;但所有这些都将是一个重大的架构变化 裸体的 赛亚。所以如果SAEA和 SSL流 太大了,SAEA和 IDuplexPipe 甚至更大。然而,“管道”是 设计 为了实现高可扩展性能,所以。。。也许它会适合你的口味?我在博客上写过关于管道的文章 很多 最近,如果有帮助的话;此外,我还提供了github客户机/服务器代码示例,包括一个2.5M+操作/秒的redis服务器。

    推荐文章