python下socket.recv有时候返回空值

txc106 发布于 03/25 12:38
阅读 96
收藏 0

client_socket.recv(1024).decode("utf-8")为什么有时候会返回空呢,是在应该GET /favicon.ico HTTP/1.1的时候。

前面get页面地址的时候是可以返回页面内容的,判断在返回空时直接把response_body设为前一步页面返回的html会报错:

加载中
0
SpringBoot中文社区
SpringBoot中文社区

recv 返回 None 是断开连接了吧?

t
txc106
回复 @SpringBoot中文社区 : 好的 谢谢!
SpringBoot中文社区
SpringBoot中文社区
回复 @txc106 : 你这是自己解析http吗?我没干过,简单点儿的话py有HTTPServer可以用。复杂点儿就可以考虑用Flask。
SpringBoot中文社区
SpringBoot中文社区
回复 @txc106 : 是返回空数组。我记错了。
t
txc106
socket.recv 返回的是[] 请问有哪些问题可能导致断开连接呢? 因为有时候同样的操作又能成功返回
0
t
txc106

报错是这样的  socket.recv 返回的是[] 请问有哪些可能导致断开连接呢? 因为有时候同样的操作又能成功返回

0
H
Hejs

在python2中socket.recv返回的是空str, 在python3中socket.recv返回的是空bytes。

这里前后描述的错误不一致,这样大家不太好分析错误出现在什么地方。最好把代码贴出来。

返回顶部
顶部