python socket和recv()返回空数据

时间:2014-12-08 16:58:54

标签: python sockets tcp recv

我有一个连接到python服务器的c程序,发送一个短字符串(少于约100个)然后关闭套接字。它定期执行此操作。

python服务器接受连接,生成一个线程,并在该线程中调用:

data = sock.recv(4096)

数据通常都是空的。

在阅读了python手册页和一些堆栈溢出帖子后(感谢大家!),我意识到问题是c程序打开,写入,关闭,套接字如此快,到了python的时候服务器接受,生成线程,recv()不返回任何数据,如文档所示。

问题是,我不知道解决这个问题的方法吗?我几乎无法控制c程序。是一种告诉python缓冲recv()消息的方法,即使另一方关闭了连接?

(警告:我尚未在wireshark上验证我的预感,但两个程序中的日志都强烈表明c-program在recv()甚至被调用大多数之前关闭时间。)

感谢。

0 个答案:

没有答案
相关问题