TGViewer
Python/ django Python/ django @pythonl · 58.7K subscribers
Post #5123 7.96K
🖥 Python: склейка TCP-пакетов

Когда отправляешь ты в сокет много маленьких кусочков - уходит куча мелких TCP-пакетов это работает медленнее и с задержками.

Решение: склеивай данные и отправляй одним блоком.

На Linux можно сказать ядру «подожди, я ещё допишу» команда MSG MORE.

Итог: меньше пакетов, быстрее отклик.


python


import socket

def send_coalesced(sock, parts):
for chunk in parts[:-1]:
sock.sendall(chunk, socket.MSG_MORE)
sock.sendall(parts[-1]) финальный flush

#Вот короткий пример как делать «плохо» и «хорошо»:

import socket

sock = socket.create_connection(("localhost", 9090))

# Плохо: много маленьких пакетов
sock.sendall(b"Hello, ")
sock.sendall(b"world")
sock.sendall(b"!\n")

# Хорошо: склеили всё и отправили одним пакетом

msg = b"".join([b"Hello, ", b"world", b"!\n"])
sock.sendall(msg)
  • 🔥 19
  • ❤ 11
  • 👍 9
More from @pythonl
  1. Sep 30, 2026🖥 Cayu - open-source runtime для долгоживущих ИИ-агентов на Python Проект закрывает инфра…
  2. Sep 29, 2026🖥 Примеры кода на Python 2026: лучшие практики, разбор и задачи с решениями Python пример…
  3. Sep 28, 2026🚀 Jina-OCR-v1 разбирает целые страницы в Markdown со скоростью 2,57 страницы/с Jina AI пр…
  4. Sep 27, 2026🐍 В Python 3.15 решили мягко «похоронить» re.match() re.match() никуда не удаляют, но для…
  5. Sep 26, 2026⚡️ Qwen-Image за 6 шагов: Viggle ускорили генерацию и редактирование в 5 раз Viggle выложи…
  6. Sep 25, 2026🖥 Заголовки безопасности для FastAPI - одной строкой 🛡️ fastapi-security-headers добавля…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →