PYTHONL Telegram 5123
This media is not supported in your browser
VIEW IN TELEGRAM
πŸ–₯ 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)
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯18❀10πŸ‘8



tgoop.com/pythonl/5123
Create:
Last Update:

πŸ–₯ 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)

BY Python/ django


Share with your friend now:
tgoop.com/pythonl/5123

View MORE
Open in Telegram


Telegram News

Date: |

Telegram Channels requirements & features While some crypto traders move toward screaming as a coping mechanism, many mental health experts have argued that β€œscream therapy” is pseudoscience. Scientific research or no, it obviously feels good. So far, more than a dozen different members have contributed to the group, posting voice notes of themselves screaming, yelling, groaning, and wailing in various pitches and rhythms. To upload a logo, click the Menu icon and select β€œManage Channel.” In a new window, hit the Camera icon. Unlimited number of subscribers per channel
from us


Telegram Python/ django
FROM American