Я пытаюсь написать демон на python. Но я понятия не имею, как я могу использовать поток для запуска параллельного tcp-сервера в этом демоне. И даже какой тип сервера я должен использовать: asyncore? SocketServer? Сокет?
это часть моего кода:
import os
def demonized():
child_pid = os.fork()
if child_pid == 0:
child_pid = os.fork()
if child_pid == 0: #fork twice for demonize
file = open('###', "r") # open file
event = file.read()
while event:
#TODO check for changes put changes in list variable
event = file.read()
file.close()
else:
sys.exit(0)
else:
sys.exit(0)
if __name__ == "__main__":
demonized()
Итак, в цикле у меня есть переменная списка с некоторыми данными, добавляемыми в каждом круге, и я хочу запустить поток с tcp-сервером, который ожидает подключения в цикле и, если клиент подключается, отправляет ему эти данные (с нулевой переменной). Поэтому мне не нужно обрабатывать несколько клиентов, клиент будет только один за раз. Каков оптимальный способ реализовать это?
Спасибо.