У меня есть сервер и много клиентов, реализованных на Python, говорящих через сокеты.Я хочу, чтобы сообщение, отправленное с обеих сторон, было немедленно передано другой стороне.
Я нашел эту статью , в которой говорится о вызове .flush()
в сокете.Тем не менее, я не вижу никаких flush()
API в Python DOC здесь .
Здесь является ответ стекопоток относительно аналогичноговопрос.
- Предлагает наивный вариант закрытия сокета.Тем не менее, я хочу сохранить одно соединение и не переподключаться снова и снова (чтобы избежать сложности кода и бесполезной нагрузки на систему.)
- В нем есть другой ответ, предлагающий преобразовать сокет в объект типа текстового файлазатем позвоните
flush
на это.Тем не менее, комментарии там поднимают вопрос о его правдоподобности, и он относится к python 3 и также не является приемлемым ответом.
Мне не обязательно нужен сокет TCP, UDP также подходит для меня.Но единственное, что я хочу, - это чтобы данные отправлялись немедленно.Любые предложения для достижения этого?Я бы предпочел чистое решение, но хаки тоже приветствуются.