tgoop.com/pythonl/5123
Create:
Last Update:
Last Update:
ΠΠΎΠ³Π΄Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡ ΡΡ Π² ΡΠΎΠΊΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ
ΠΊΡΡΠΎΡΠΊΠΎΠ² - ΡΡ
ΠΎΠ΄ΠΈΡ ΠΊΡΡΠ° ΠΌΠ΅Π»ΠΊΠΈΡ
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)