NLINKER_RUST Telegram 1917
Forwarded from Segment@tion fault
Программить блокируемые (да и неблокируемые тоже) сокеты на питоне - еще тот адок. На дворе конец 2021 года, а вам предлагаются из коробки сугубо биндинги на recv().

Кто далек от темы - recv(N) позволяет прочитать из сокета N байт, но совершенно не факт, что она прочитает именно N байт - а вдруг там сейчас столько нету? Поэтому правило дедовское - читаем не всё сразу, а recv(BUF_SIZE), причем последнюю часть естественно уменьшаем BUF_SIZE на сколько-там недочитано, а то влезем уже в следующий пакет.

В других языках естественно эти велосипеды давно изобрели, в виде всяких там этих ваших read_exact() и прочих recvall(), которые внутри у себя гоняют буферы, а вам выдают ровно столько, сколько вы запросили.

Но в питоне этого нету, а пара попыток имплементировать recvall() в коробку почему-то закончились провалом.

Зато мля в коробке есть встроенный JSON. Который, естественно, все тут же меняют на какой-нибудь rapidjson, потому что коробочным пользоваться под нагрузками нереально.



tgoop.com/nlinker_rust/1917
Create:
Last Update:

Программить блокируемые (да и неблокируемые тоже) сокеты на питоне - еще тот адок. На дворе конец 2021 года, а вам предлагаются из коробки сугубо биндинги на recv().

Кто далек от темы - recv(N) позволяет прочитать из сокета N байт, но совершенно не факт, что она прочитает именно N байт - а вдруг там сейчас столько нету? Поэтому правило дедовское - читаем не всё сразу, а recv(BUF_SIZE), причем последнюю часть естественно уменьшаем BUF_SIZE на сколько-там недочитано, а то влезем уже в следующий пакет.

В других языках естественно эти велосипеды давно изобрели, в виде всяких там этих ваших read_exact() и прочих recvall(), которые внутри у себя гоняют буферы, а вам выдают ровно столько, сколько вы запросили.

Но в питоне этого нету, а пара попыток имплементировать recvall() в коробку почему-то закончились провалом.

Зато мля в коробке есть встроенный JSON. Который, естественно, все тут же меняют на какой-нибудь rapidjson, потому что коробочным пользоваться под нагрузками нереально.

BY Linker Unsafe


Share with your friend now:
tgoop.com/nlinker_rust/1917

View MORE
Open in Telegram


Telegram News

Date: |

Hashtags There have been several contributions to the group with members posting voice notes of screaming, yelling, groaning, and wailing in different rhythms and pitches. Calling out the “degenerate” community or the crypto obsessives that engage in high-risk trading, Co-founder of NFT renting protocol Rentable World emiliano.eth shared this group on his Twitter. He wrote: “hey degen, are you stressed? Just let it out all out. Voice only tg channel for screaming”. Step-by-step tutorial on desktop: With the sharp downturn in the crypto market, yelling has become a coping mechanism for many crypto traders. This screaming therapy became popular after the surge of Goblintown Ethereum NFTs at the end of May or early June. Here, holders made incoherent groaning sounds in late-night Twitter spaces. They also role-played as urine-loving Goblin creatures. To edit your name or bio, click the Menu icon and select “Manage Channel.”
from us


Telegram Linker Unsafe
FROM American