在Windows上选择解决方案[Python]

时间:2017-09-01 17:32:24

标签: python windows sockets select

以下代码不能在Windows上运行,因为它以不同于Linux的方式处理sys.stdin。我想知道是否有一个语义解决方法,我不能只检查sys.stdin是否有数据,但是如果数据到达套接字中的数据之前。基本上无论操作系统如何,都会在“用户输入”上产生相同的结果。

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
client.connect("localhost",12345)
while true:
    inputs = [client,sys.stdin]
    read_list,notUsed, notUsed2 = select.select(inputs,[],[])
    for connection in read_list:
      if connection == client:
        user_input = connection.recv(4096)
      else:
        user_input = sys.stdin.readline()

0 个答案:

没有答案