gpt4 book ai didi

python - 当客户端完成它的代码时,套接字服务器关闭。如何阻止它停止?

转载 作者:太空宇宙 更新时间:2023-11-04 02:10:48 25 4
gpt4 key购买 nike

我正在尝试学习如何在 python 中使用 Socket,我目前遇到一个问题,我可以让它连接,但我希望我的套接字服务器在客户端发送它应该发送的内容后保持打开状态。我可以成功发送一些东西,但在完成之后整个服务器都关闭了。我希望它保持打开状态,以便客户端可以随时再次连接。

我的客户端.py

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.0.127", 12345))

f = open("bce7d09d-66ce-46ca-979e-777c4cbc0cd1.json", "wb")

while True:
datas = s.recv(1024)
while datas:
f.write(datas)
datas = s.recv(1024)
f.close()
socket.shutdown()
print("Done receiving")

我的服务器.py

import socket
import subprocess
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("192.168.0.127", 12345))

s.listen(10)
c, addr = s.accept()
print('{} connected.'.format(addr))

f = open("bce7d09d-66ce-46ca-979e-777c4cbc0cd1.json", "rb")
datas = f.read(1024)

while datas:
c.send(datas)
datas = f.read(1024)
f.close()
print("Done sending...")

最佳答案

因为 s.accept() 是一个阻塞调用,你可以这样做:
而真实的:
c、addr = s.accept()
...
继续接受服务器的新套接字连接。

关于python - 当客户端完成它的代码时,套接字服务器关闭。如何阻止它停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53771868/

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