Size: a a a

2020 March 15

X

Xo in Go-go!
я так понимаю в Go нет функции uniq для array
источник

RS

Roman Sharkov in Go-go!
Xo
я так понимаю в Go нет функции uniq для array
нет, go.has(generics) // false
источник

D

Doublegrey in Go-go!
Добрый день! Возникла задача обмена сообщениями между программами. Принял решение использовать unix сокеты. Нашел Несколько примеров(один из них https://golang-examples.tumblr.com/post/92024612569/unix-domain-socket-server-and-client), но во всех используется буфер фиксированного размера. Подскажите, как мне читать динамические данные?
источник

ЛА

Локоть Анатолий in Go-go!
Doublegrey
Добрый день! Возникла задача обмена сообщениями между программами. Принял решение использовать unix сокеты. Нашел Несколько примеров(один из них https://golang-examples.tumblr.com/post/92024612569/unix-domain-socket-server-and-client), но во всех используется буфер фиксированного размера. Подскажите, как мне читать динамические данные?
Обычно чтение из коннекта делают в цикле. Буффер может быть хоть любого размера или вовсе переменного.
источник

ЛА

Локоть Анатолий in Go-go!
Это в данном примере считывают почему-то конкретное число байт
источник

q

qutorz in Go-go!
Размер буффера не сильно важен. Достаточно в протокол обмена сообщений добавить символ конца сообщений. И в цикле накапливать сообщения (если не влезают в буффер), пока не встретится символ, разделяющий сообщений.
Или взять что-то готовое с "оверхедом" (gRPC, etc)
источник

p

pragus in Go-go!
Doublegrey
Добрый день! Возникла задача обмена сообщениями между программами. Принял решение использовать unix сокеты. Нашел Несколько примеров(один из них https://golang-examples.tumblr.com/post/92024612569/unix-domain-socket-server-and-client), но во всех используется буфер фиксированного размера. Подскажите, как мне читать динамические данные?
А что такое "динамические данные"?
источник

а

а кто это in Go-go!
pragus
А что такое "динамические данные"?
без четкой структуры наверное
источник

C

Calculon in Go-go!
Doublegrey
Добрый день! Возникла задача обмена сообщениями между программами. Принял решение использовать unix сокеты. Нашел Несколько примеров(один из них https://golang-examples.tumblr.com/post/92024612569/unix-domain-socket-server-and-client), но во всех используется буфер фиксированного размера. Подскажите, как мне читать динамические данные?
в хедер пиши длину
источник

p

pragus in Go-go!
Doublegrey
Добрый день! Возникла задача обмена сообщениями между программами. Принял решение использовать unix сокеты. Нашел Несколько примеров(один из них https://golang-examples.tumblr.com/post/92024612569/unix-domain-socket-server-and-client), но во всех используется буфер фиксированного размера. Подскажите, как мне читать динамические данные?
Вообще, лучше бы shared memory взяли
источник

VL

V L in Go-go!
pragus
Вообще, лучше бы shared memory взяли
Чем лучше? Я бы вообще сетевые сокеты + какой-нибудь готовый rpc-протокол предложил, как самый простой и знакомый всем вариант. И который скорее всего легко можно будет подцепить в другой программе (которая может и не на go быть).
источник

D

Doublegrey in Go-go!
а кто это
без четкой структуры наверное
Именно :D
источник

D

Doublegrey in Go-go!
Calculon
в хедер пиши длину
Пока остановился именно на этом варианте
источник

RS

Roman Sharkov in Go-go!
Doublegrey
Добрый день! Возникла задача обмена сообщениями между программами. Принял решение использовать unix сокеты. Нашел Несколько примеров(один из них https://golang-examples.tumblr.com/post/92024612569/unix-domain-socket-server-and-client), но во всех используется буфер фиксированного размера. Подскажите, как мне читать динамические данные?
можно пакетами
источник

D

Doublegrey in Go-go!
Roman Sharkov
можно пакетами
Можно поподробнее? 🥺
источник

RS

Roman Sharkov in Go-go!
Doublegrey
Можно поподробнее? 🥺
хотя в твоём случае header’а с длиной может хватить если мултиплексинг не нужен (multiplexing = передавать более одного сообщения одновременно, т.е. асинхронно)
источник

×

× VSKut in Go-go!
Такой вопрос. Использую InfluxDB (написана на go), попутно собираю статистику по сервисам в эту самую influxdb. Один из графов показал очень большой скачок с 390мб до 4600мб. Может подскажете в связи с чем это может быть и за конкретно отвечает этот field? runtime>sys
источник

×

× VSKut in Go-go!
нагуглил, что это вот это
источник

×

× VSKut in Go-go!
какую конкретно память оно выделяет? ram?
источник

C

Constantine in Go-go!
ты всегда можешь открыть сорцы и посмотреть, что в метрику пишется )
источник