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

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

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

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

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

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

    2. 我必须使用同步或异步操作吗?我认为如果我使用异步操作,我可以实现取消功能,这可以从GUI线程调用。

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

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

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

    要获得SSL支持,请查看openssl.org

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

        2
  •  1
  •   Len Holgate    13 年前

    +openssl.org为1

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

        3
  •  0
  •   moster67    15 年前

    这里还有另一个免费的库socketpro:

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

    RGDS, 莫斯特67