Доброго времени суток, уважаемые!
Есть поток вида
8,0,0,test,0,2016/07/19,14:40:57.938,2016/07/19,14:40:57.938,,,,,,,,,,,,0
3,0,0,test,0,2016/07/19,14:41:04.687,2016/07/19,14:41:04.687,,2475,,,,,,,,,,0
..
Он поступает на порт 30003 и обрабатывается так:
#!/bin/bash
nc -l -k -p 30003 | python3 script.py
в самом script.py
while True:
for string in sys.stdin:
Сервер в данном случае живет постоянно - после закрытия соединения, создать новое - не проблема.
Хочу заменить nc, а именно: слушать порт прямо из Python.
import socket
sock = socket.socket()
sock.bind(('', 30003))
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()
Т.е вопроса два:
1) С учетом входных данных, необходимо как-то видоизменить чтение - заканчивать его по символу новой строки.
2) Сервер должен слушать постоянно - после закрытия соединения, создать новое должно не быть проблемой.
Заранее много благодарен!