我希望有一种功能来检查套接字中是否等待读取的数据,然后再进行读取。类似这样的东西会很有帮助:
if (data available) then read data
else wait in blocking mode till data becomes available
我该如何在Python中实现这个?
我希望有一种功能来检查套接字中是否等待读取的数据,然后再进行读取。类似这样的东西会很有帮助:
if (data available) then read data
else wait in blocking mode till data becomes available
我该如何在Python中实现这个?
while 1:
socket_list = [sys.stdin, s]
# Get the list sockets which are readable
read_sockets, write_sockets, error_sockets = select.select(socket_list , [], [])
for sock in read_sockets:
#incoming message from remote server
if sock == s:
data = sock.recv(4096)
if not data :
print '\nDisconnected from server'
sys.exit()
else :
#print data
sys.stdout.write(data)
#user entered a message
else :
msg = sys.stdin.readline()
s.send(msg)
select
系统调用为您所做的事情。https://docs.python.org/2.7/library/select.html - squiguy