使用python客户机向javas发送数据

2024-04-25 22:06:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在网上搜索了一段时间,现在正在寻找答案。在

发送文件的python代码:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
with open(path, mode='rb') as f:
   s.sendall(f.read())

接收数据的java代码:

^{pr2}$

我看到数据正在被发送,并且我知道数据在java端的流中。但是bis.阅读(by)调用挂起,并拒绝读取数据,直到连接终止。在

我怀疑这与java中的“flush”有关,但是我找不到任何使用python进行“flush”的方法。在

有什么线索吗?在


Tags: 文件数据path答案代码streammodewith
1条回答
网友
1楼 · 发布于 2024-04-25 22:06:19

我发现,由于某种原因,一个竞争条件正在发生,在python代码中设置一个sleep(0,2),使得java服务器能够响应。在

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sleep(0.2)
with open(path, mode='rb') as f:
   s.sendall(f.read())

相关问题 更多 >

    热门问题