网络编程中的SSL、文件描述符传递与事件驱动I/O
1. SSL相关知识
在服务器相关代码中,私钥和证书文件会被提供给各种与SSL相关的包装函数。证书会呈现给客户端,而私钥应受到保护并保留在服务器上。
在客户端相关代码中,需要维护一个有效的证书颁发机构的特殊文件,以验证服务器的证书。若没有该文件,至少可以将服务器证书的副本放在客户端机器上,并以此作为验证手段。在连接过程中,服务器会出示其证书,然后使用已存储的证书来验证其正确性。
服务器也可以选择验证客户端的身份。为此,客户端需要有自己的私钥和证书密钥,服务器还需要维护一个用于验证客户端证书的受信任证书颁发机构文件。
如果要为网络服务真正添加SSL支持,这只是一个初步介绍,需要查阅更多文档以了解细节,并做好花费大量时间进行实验的准备。
2. 进程间传递套接字文件描述符
2.1 问题描述
当有多个Python解释器进程运行时,需要将一个打开的文件描述符从一个解释器传递到另一个解释器。例如,有一个服务器进程负责接收连接,而实际的客户端服务由另一个解释器处理。
2.2 解决方案
要在进程间传递文件描述符,首先需要将进程连接起来。在Unix机器上,可以使用Unix域套接字;在Windows上,可以使用命名管道。不过,使用 multiprocessing 模块来建立连接通常更简单。
连接建立后,可以使用 multiprocessing.reduction 中的 send_handle() 和
超级会员免费看
订阅专栏 解锁全文
172万+

被折叠的 条评论
为什么被折叠?



