Ich möchte Port in Python3 hören.Socket in Python3, Überwachungsport
import socket
sock = socket.socket()
sock.bind(('', 9090))
sock.listen(1)
conn, addr = sock.accept()
print 'connected:', addr
while True:
data = conn.recv(1024)
if not data:
break
conn.send(data.upper())
conn.close()
Die Daten, die ich hören möchte, wie folgt aussieht:
8,0,0,test,0,2016/07/19,14:40:57.938,2016/07/19,14:40:57.938,,,,,,,,,,,,0
8,0,0,test,0,2016/07/19,14:40:57.965,2016/07/19,14:40:57.965,,,,,,,,,,,,0
3,0,0,test,0,2016/07/19,14:41:04.687,2016/07/19,14:41:04.687,,2475,,,,,,,,,,0
..
, die ich gelesen wird müssen, bis '\n'
Also muss ich diesen Block ändern, aber ich weiß nicht, wie ..
data = conn.recv(1024)
if not data:
break
conn.send(data.upper())
ich will ersetzen nc:
nc -k -l -p 30003 | python3 script.py
wo script.py
while True:
for string in sys.stdin:
Auch muss ich wieder an, wenn etwas schief, Server alle Daten bereit nehmen jederzeit sein muss, genau wie nc -k -l -p 30003 | python3 script.py
Es ist absolut was ich will. Aber es gibt einige Probleme: Wenn ich das erste Mal verbinden: 'NC Localhost Port Ctrl + C ' und das Skript beendet. Ist es möglich, es jederzeit zu ändern? Danke. – user7365441
@ user7365441 Sie müssen nur Ihre hörende Buchse zu akzeptieren für immer (d. H. In einer 'while' Schleife). Ich habe die Antwort aktualisiert. – freakish
Großartig! Vielen Dank! – user7365441