[英]Socket server loop and waiting serial command in python?
Problem with socket server while loop and waiting serial command in python. 套接字服务器while循环和在python中等待串行命令时出现问题。
I have server code in python like this: 我在python中有这样的服务器代码:
import serial
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('', 9000))
sock.listen(1)
print "Listening on TCP 9000"
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
print "Connected at: /dev/ttyUSB0"
while(1):
print "Waiting For Connection..."
connection, addr = sock.accept() #PROBLEM HERE
# IF THERE IS NOT CLIENT, PROGRAM CAN NOTO CONTINUE TO NEXT LINE
print "Connected"
#SO I CAN NOT CHECK THE COMMAND FROM SERIAL IN THE SAME TIME
dataFromSerial = ser.readline()
if dataFromSerial == "ON":
#SET LED ON
Help me please... Thanks... 请帮助我...谢谢...
Set the listening socket nonblocking and catch socket timeouts (which apparently can also manifest themselves as EAGAIN
or EWOULDBLOCK
errors): 设置侦听套接字非阻塞并捕获套接字超时(显然它们也可能表现为
EAGAIN
或EWOULDBLOCK
错误):
import errno
sock.setblocking(False) # just once, probably right after listen()
try:
conn, addr = sock.accept()
# conn accepted
except socket.error as e:
if e.errno not in (errno.EAGAIN, errno.EWOULDBLOCK):
raise # some sort of error we don't recognize; re-raise
pass # no connections were pending
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.