gpt4 book ai didi

python - 如何使用键盘中断Python中的recvfrom()调用?

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

我的程序的 main() 函数中有一个循环运行,如下所示

while True:
data, addr = sock.recvfrom(MAX_MESS_LEN)
thread.start_new_thread(message_handler, (data, addr,))

我想介绍一些功能,让我可以按“q”来跳出循环并结束程序。我不知道如何执行此操作,因为程序会等待 recvfrom() 调用,直到收到消息。有没有办法实现中断键或键盘事件捕获器之类的?现在我使用 ctrl-c 来键盘中断程序,但这似乎有点草率。

最佳答案

在尝试从套接字接收数据之前,您可以尝试检查套接字中是否有任何数据?

dataInSocket, _, _ = socket.select.select([sock], [], [])
if dataInSocket:
data, addr = sock.recvfrom(MAX_MESS_LEN)
thread.start_new_thread(message_handler, (data, addr,))

我在这里猜测了你的代码,所以这段代码可能无法干净地复制并粘贴到你的代码中。您需要使其适用于您自己的程序。

关于python - 如何使用键盘中断Python中的recvfrom()调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27177870/

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