Size: a a a

2020 February 13

S

Snusmumriken in pro.lua
За секунду луасокет вполне успешно пересылает и принимает 105МБ, я уже писал тестилку на локалхосте ))
источник

VV

V V in pro.lua
Snusmumriken
Только потому что socket.sleep. В данных условиях, это слип на пол года.
Не уловил. Как связано с ожиданием? Типа, за время слипа, успела прийти вся строка? А в partial она только потому, что соединение не закрыто?
источник

S

Snusmumriken in pro.lua
Да.
источник

VV

V V in pro.lua
Аа, ок, теперь понял.
источник

VV

V V in pro.lua
Snusmumriken
За секунду луасокет вполне успешно пересылает и принимает 105МБ, я уже писал тестилку на локалхосте ))
А ты только socket тестировал, другие либы никакие не проверял для передачи по сети?
источник

S

Snusmumriken in pro.lua
Не особо. Ещё свои ffi-биндинги к winsock, но они.. Специфичные.
источник

S

Snusmumriken in pro.lua
V V
Я и говорю, в идеальном мире.

Потому что сплошь и рядом сообщение пихают в поток байт и без разделителей, и без длины.
И нужно самому догадаться, по каким признакам верно будет разрезать склейку.
Кстати, где ты видел "сплошь и рядом поток байт без разделителей/длины"?
источник

S

Snusmumriken in pro.lua
Назови какой-нибудь пользовательский протокол.
источник

S

Snusmumriken in pro.lua
Длины может не быть только там, где, собственно.. Потоковый протокол. Например, интернет-радио. Там не будет длины, и условный ogg-файл будет передаваться бесконечно.
источник

S

Snusmumriken in pro.lua
А в любом сообщение-ориентированном протоколе будут разделения, инфа 100%.
источник

VV

V V in pro.lua
Я тут просто интересный грабель выкопал в lua sys. Если создать сокет, не важно даже, tcp или udp, то длина принимаемого сообщения не может превысить 4096 байт.

Это должно быть задано какой-нибудь опцией, но... Может быть и захардкоженой багой.
источник

VV

V V in pro.lua
Snusmumriken
Кстати, где ты видел "сплошь и рядом поток байт без разделителей/длины"?
Логи аудита системы bluecoat, например
источник

S

Snusmumriken in pro.lua
Офигенно странно. Мб оно предназначено тупо для непрерывной записи в файл, и там разделителем отдельных логирующих сообщений работает \n.
источник

VV

V V in pro.lua
Snusmumriken
Назови какой-нибудь пользовательский протокол.
Ты про rfc 7-го уровня? Потому что я про проприетарные устройства, которые по сети общаются, а как, вендор не указывает.
источник

VV

V V in pro.lua
Snusmumriken
А в любом сообщение-ориентированном протоколе будут разделения, инфа 100%.
Только в том, что по rfc писали, хотя бы с формальной совместимостью.

А это далеко не всегда так.
источник

S

Snusmumriken in pro.lua
Потому что непрерывные неразделённые логи — это немножко мусор. Там должна быть как минимум метка времени, которая может работать началом сообщения.
источник

VV

V V in pro.lua
Snusmumriken
Офигенно странно. Мб оно предназначено тупо для непрерывной записи в файл, и там разделителем отдельных логирующих сообщений работает \n.
\n при этом прекрасно встречает я в теле запроса
источник

VV

V V in pro.lua
Snusmumriken
Потому что непрерывные неразделённые логи — это немножко мусор. Там должна быть как минимум метка времени, которая может работать началом сообщения.
И опять же, запрос содержит вложенные метки времени того же формата. Если отделать по ним, один запрос будет добиться на 4-5 штук без целостного смысла
источник

VV

V V in pro.lua
Поэтому мысль, что все форматы сообщений специфицированы,
источник

VV

V V in pro.lua
... А люди, их писавшие - разумны, слегка оптимистично))
источник