gpt4 book ai didi

python - 有没有办法检查Python Socket中是否有传入消息

转载 作者:行者123 更新时间:2023-12-01 08:19:25 24 4
gpt4 key购买 nike

我正在Python中使用套接字,并试图找出如何检查代码中是否有传入消息。如果有传入消息,我需要打印它。如果没有传入消息,则只会写入“NO DATA”

我尝试使用 if 条件进行检查,但没有成功:

import socket
import time
#AG AYARLARI
HOST = ''
PORT = 16000
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((HOST,PORT))

#AGI BASLATMA


s.listen(1)
conn, addr = s.accept()
i=0
print('I:::',i)
print('Connected by', addr)
while True:
data=conn.recv(1024)
if data:
print(data)
else:
print (str.encode('No data'))
break
  • 如果有消息,请输入:“Message”

  • 如果不是:“无数据”

最佳答案

尝试使用选择:

    import select

timeout = 10 # in seconds
ready_sockets, _, _ = select.select(
[conn], [], [], timeout
)
if ready_sockets:
data = conn.recv(1024)
print(data)
else:
print('No data')

在这里阅读更多相关信息:https://docs.python.org/3.7/library/select.html

关于python - 有没有办法检查Python Socket中是否有传入消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54761997/

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