Size: a a a

2021 March 22

M

Matrix Telegram Brid... in SPb Python
Alexander
Ты лучше напиши какую задачу решаешь
XML | #FreePolitPrisoners#FreePolitPrisoners: Мне нужно отправлять файлы любого размера
источник

A

Alexander in SPb Python
Куда отправлять?
источник

M

Matrix Telegram Brid... in SPb Python
XML | #FreePolitPrisoners#FreePolitPrisoners: На сервер. У меня p2p приложение
источник

M

Matrix Telegram Brid... in SPb Python
XML | #FreePolitPrisoners#FreePolitPrisoners: "приложение"
источник

A

Alexander in SPb Python
Почему бы это не делать простым HTTP Post запросом?
источник

M

Matrix Telegram Brid... in SPb Python
Alexander
Почему бы это не делать простым HTTP Post запросом?
XML | #FreePolitPrisoners#FreePolitPrisoners: Потому что я делаю реализацию одного децентрализованного протокола. Можно конечно поднимать http сервер, но не особо хочу
источник

A

Alexander in SPb Python
а сам этот децентрализованный протокол подразумевает передачу файлов?
источник

p

pragus in SPb Python
Matrix Telegram Bridge
XML | #FreePolitPrisoners#FreePolitPrisoners: Привет всем. Может кто-нибудь подсказать, как лучше отправлять данные через сокеты, если сервер заранее не знает какой объем данных принимать? Отправлять сначала размер данных?
а зачем серверу знать размер данных?
источник

A

Alexander in SPb Python
pragus
а зачем серверу знать размер данных?
подозреваю, что чтобы знать сколько читать байтов из сокета
источник

DA

Dmitry Alimov in SPb Python
хм. а что это за протокол?
источник

SK

Sergio Keler in SPb Python
Matrix Telegram Bridge
XML | #FreePolitPrisoners#FreePolitPrisoners: Привет всем. Может кто-нибудь подсказать, как лучше отправлять данные через сокеты, если сервер заранее не знает какой объем данных принимать? Отправлять сначала размер данных?
Зачем знать размер данных?
1. Отправь сколько надо и разорви tcp.
2. Открой два tcp. По одному отправляй данные, по второму размеры их. По второму можно имя переменной/файла/итп/мета отправлять ещё. Льёшь данные, сервер считает байты. Клиент считает тоже. Как клиент поймёт, что всё, хватит, он шлёт команду по второму каналу или просто тупо размер. Как сервер получает нужное колво, то готово.
источник

A

Alexander in SPb Python
Sergio Keler
Зачем знать размер данных?
1. Отправь сколько надо и разорви tcp.
2. Открой два tcp. По одному отправляй данные, по второму размеры их. По второму можно имя переменной/файла/итп/мета отправлять ещё. Льёшь данные, сервер считает байты. Клиент считает тоже. Как клиент поймёт, что всё, хватит, он шлёт команду по второму каналу или просто тупо размер. Как сервер получает нужное колво, то готово.
а можно ещё на голову встать чтобы совсем неудобно было
источник

SK

Sergio Keler in SPb Python
3. Отправь по tcp флаг. Там есть поле options в заголовке. В конце данных отправляешь такой пакет как признак конца.
источник

SK

Sergio Keler in SPb Python
Alexander
а можно ещё на голову встать чтобы совсем неудобно было
Задача вроде стоит велосипед изобрести. Их много.
источник

A

Alexander in SPb Python
написание своего протокола - далеко не велосипед, тем более, если это бинарный протокол
источник

SK

Sergio Keler in SPb Python
4. Отправлять порциями указывая в начале длину. Длина -1 это конец
источник

SK

Sergio Keler in SPb Python
Alexander
написание своего протокола - далеко не велосипед, тем более, если это бинарный протокол
А что? Велосипед имхо.
источник

A

Alexander in SPb Python
нет
источник

A

Alexander in SPb Python
у нас в конторе используется свой протокол, по которому сервисы общаются между собой
источник

SK

Sergio Keler in SPb Python
Alexander
у нас в конторе используется свой протокол, по которому сервисы общаются между собой
Ну и зачем новый изобретать, если в вашей конторе свой.
Свой протокол ip, я надеюсь?
источник