Доброго времени суток. Только начал разбираться с асинхронным программированием в Python 3.
Необходимо реализовать клиент серверное приложение:
1. Клиент получается к серверу, получает от него в ответ настройки для подключения (порт, кол-во файлов, формат) в формате json по http
2. Отправив эти настройки сервер создает сокет на том порту, который отправил клиенту и ждет подключения его и принятие файлов в нужном количестве и нужных форматов, при этом продолжает оформлять других подключившихся на свободные порты.
import tornado.ioloop
import tornado.web
import time
def looper():
time.sleep(10)
class MainHandler(tornado.web.RequestHandler):
def get(self, *args, **kwargs):
self.write('hello')
self.finish()
looper()
def app():
return tornado.web.Application([
(r'/', MainHandler),
])
if __name__ == "__main__":
app = app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
это код сервера, это не рабочий вариант, просто решил упростить задачу чтобы проверить, когда первый раз подключаюсь, то все нормально, при повторном подключении ничего не выходит и жду 10 секунд, можно ли как-то сделать, чтобы он отправил json, вызвал нужную функцию из экземпляра класса и передал ей параметры те же, а потом опять стал слушать? при этом шел прием файлов через сокет
Примеры или ответы подойдут как на Tornado, так и на aiohttp
Заранее спасибо