Ich schreibe einen Server in Python, die als Pipe zwischen einem seriellen Gerät (wie Arduino) und einem Client, der damit verbunden ist, funktionieren sollte.So senden Sie Daten über TCPServer von einem anderen Thread
import SocketServer
import threading
import errno
def SerialThread():
# Serial init is here
while (True):
msg = read_from_serial(blocking = True)
#print(msg)
try:
server.socket.sendall(str(msg))
except IOError, e:
if e.errno == errno.EPIPE:
print('Server not ready')
serial_daemon = threading.Thread(name='SerialThread', target=SerialThread)
serial_daemon.daemon = True
serial_daemon.start()
class TCPHandler(SocketServer.StreamRequestHandler):
def handle(self):
print('#')
server = SocketServer.TCPServer(('127.0.0.1', 4242), TCPHandler)
print('Starting server')
server.serve_forever()
Aber ich halte Server not ready
in meiner Konsole spammed bekommen. Also, was ist falsch an meinem Code und wie kann ich das beheben?