Сокет-сервер на python
Помогите написать сокет-сервер на python
Это "мой" сервер. Мне надо сделать так, чтобы после получения сообщения он не включался, и чтобы он проверял полученные сообщения и запускал функцию. Но у меня не работает!
import socket
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind(("192.168.0.x", 4004))
serversocket.listen(10) # become a server socket, maximum 10 connections
while True:
connection, address = serversocket.accept()
buf = connection.recv(64).decode()
if len(buf) > 0:
print(buf)
break
Ответы (1 шт):
Автор решения: Tr1nks
→ Ссылка
Ваш код проходит ровно одну итерацию по циклу, так как break находится последней инструкцией в итерации и выполняется всегда.
Если вам необходимо выходить по определенному событию то замените ваш break на:
if exit_condition_reached():
break
Где exit_condition_reached() это функция, которая проверяет что необходимо выйти из цикла и завершить прослушивание сокета ( может быть заменена на простое условие по вашему усмотрению )