Qwentor
@Qwentor
Веб-программист

Как постоянно прослушивать порт и отдавать данные?

Сабж
Нашел такое решение:
import socket

sock = socket.socket()
sock.bind(('127.0.0.1', 3333))
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()

Но сразу после отдачи данных скрипт завершается, а мне нужно, чтобы висел и отдавал на каждое обращение. Как это сделать? Если просто убрать conn.close() - все равно завершается
  • Вопрос задан
  • 396 просмотров
Решения вопроса 1
Qwentor
@Qwentor Автор вопроса
Веб-программист
Вот так работает вроде:
import socket

conn = socket.socket()
conn.bind( ('127.0.0.1', 3333) )
conn.listen(100)

while True:
	try: client, addr = conn.accept()
	except socket.error: 
		pass 
	else: 
		
		data = client.recv(1024)
		print(data)
		client.send(data.upper())
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы