Я хочу слушать порт в Python3.Сокет в Python3, порт прослушивания
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()
Данные, которые я хочу слушать, выглядит следующим образом:
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
..
, что мне нужно прочитать до '\n'
Так мне нужно изменить этот блок, но я не знаю, как ..
data = conn.recv(1024)
if not data:
break
conn.send(data.upper())
Я хочу заменить н.д.:
nc -k -l -p 30003 | python3 script.py
где script.py
while True:
for string in sys.stdin:
Также мне нужно восстановить, если что-то не так, сервер должен быть готов принять все данные в любое время, так же, как nc -k -l -p 30003 | python3 script.py
Абсолютно то, что я хочу. Но есть некоторые проблемы: при первом подключении: 'nc localhost port Ctrl + C ' и скрипт закончен. Можно ли изменить его на все время? Спасибо. – user7365441
@ user7365441 Вам просто нужно сказать, что ваш слуховой сокет «принять» навсегда (т. Е. В цикле 'while'). Я обновил ответ. – freakish
Отлично! Спасибо! – user7365441