gpt4 book ai didi

python - python TLS over TCP make 逻辑是否有可能失败

转载 作者:太空宇宙 更新时间:2023-11-03 14:06:25 25 4
gpt4 key购买 nike

我在 python 中有一个 tcp 代理,版本是 2.6。

它在任何情况下都可以正常工作,符合以下逻辑客户端--->代理--->服务器

我用 tls 封装了从代理到服务器的 tcp。客户端--->代理==++ssl++==>服务器

这在某些情况下工作正常而在其他情况下失败。

错误是服务器正在等待来自客户端的更多信息,但客户端没有发送更多信息。在第26次往返时。(当然,成功案例的往返次数也大于26次。)

我不能透露更多细节,但我认为 SSL 应该对逻辑透明。任何想法部分功能失败?我应该如何调试它?

编辑:在python 2.6中,tls版本只能是1.0。

最佳答案

如果没有任何示例说明问题,很难说出您在做什么,但这取决于您的应用程序的工作方式 SSL/TLS 不仅仅是 TCP 套接字的透明替代品。虽然在大多数情况下它可能是透明的,但如果您只使用阻塞套接字,它会与非阻塞 I/O 不同。在这种情况下,您必须处理用户空间缓冲,即使有未读数据,select 也不会报告可用数据。您还必须处理暂时无法写入的情况,因为 TLS 堆栈需要先读取或以其他方式读取。

有关与非阻塞 I/O 和选择的差异的更多详细信息,请参阅 Behavior of python's select() with partial recv() on SSL socketselect and ssl in python .此外,非阻塞 I/O 也需要对 accept 和 connect 进行特殊处理,但我怀疑您正在使用的旧 python 版本是否对它有有用的支持。

关于python - python TLS over TCP make 逻辑是否有可能失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40671411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com