代码之家  ›  专栏  ›  技术社区  ›  Julian Popov

Windows中的SSL套接字。图书馆?同步/异步?线?

  •  3
  • Julian Popov  · 技术社区  · 16 年前

    我有一个2线程应用程序。一个GUI线程和一个工作线程(CWinThread),我在其中进行耗时的操作——计算和HTTP通信。

    我必须从HTTP切换到SSL套接字连接。我还需要对服务器证书进行验证(它是否可信、是否过期、, 它被撤销了吗 )

    1. SSL套接字使用哪个库(MFC、Boost或其他库)?

    2. 我必须使用同步还是异步操作?我认为,如果我使用异步操作,我可以实现Cancel功能,该功能可以从GUI线程调用。

    3. 如果我使用异步操作,在第一个线程中移动套接字操作会更好吗?

    4. SSL协议是否支持流数据压缩?

    3 回复  |  直到 16 年前
        1
  •  2
  •   devdimi    16 年前

    有关SSL支持,请查看openssl.org

    取消支持很好;要做到这一点,你必须定期从工作线程检查是否有取消请求。注意使用volatile变量或用Critical部分保护对它的访问。 不要从GUI线程执行网络操作,即使它是异步的。不从GUI线程执行任何类型的IO是一个很好的策略,以确保它响应迅速,更重要的是,它不会挂起。

        2
  •  1
  •   Len Holgate    14 年前

    +1适用于OpenSSL.org

    我在2002年的《windows开发者杂志》上写过关于将OpenSSL与异步windows套接字集成的文章,这篇文章可以在这里找到: http://www.serverframework.com/asynchronousevents/2010/10/using-openssl-with-asynchronous-sockets.html 其中包括使用OpenSSL的简单MFC客户端的源代码。

        3
  •  0
  •   moster67    16 年前

    这里还有另一个免费库SOcketPro:

    http://www.udaparts.com/document/articles/demome.htm

    Rgds, 大多数67

    推荐文章