首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python套接字使用kbhit进行线程

Python套接字使用kbhit进行线程
EN

Stack Overflow用户
提问于 2013-03-20 22:33:25
回答 1查看 209关注 0票数 1

我已经想不出python中的msvcrt.kbhit()如何在我单击需要按下的指定键时立即打印出数据。看起来while循环需要再循环一次,然后才能打印出我想要的输出。谁能帮帮我。下面是我的代码:

代码语言:javascript
复制
def run(self):
    global state
    print "\nClient connection received!\n"
    self.channel.send("Status: Server connection received")
    while 1:
        ctr = 1
        while 1:
            self.clientmess = self.channel.recv(Buffer)
            if msvcrt.kbhit():
                if msvcrt.getch() == 's':
                    print "stop"
                    break
    #the codes belo is what i will want for self.clientmess will be so its not necessary I think to put
EN

回答 1

Stack Overflow用户

发布于 2013-03-20 23:03:27

大多数情况下,您的程序会阻塞recv调用,因此在接收到某些数据之前,它不会执行kbhit+getch。如果您需要立即处理键盘输入,则可能需要使套接字成为非阻塞的,并在循环中轮询套接字和键盘,处理来自它们的数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15526484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档