Size: a a a

2020 July 08

L

L in Kotlin JVM
Sergey Zolotov
тащи kotlin grpc официальный и юзай вместе с ктором, а порты да разные слушать будет
Да так и сделаю, в любом случае нужно поддержать легаси, просто была мысля попробовать брать ByteChannel на чтение реквеста из ktor и grpc схемой уже распарсивать в объекты руками :)
источник

AN

Alexander Nozik in Kotlin JVM
L
Да так и сделаю, в любом случае нужно поддержать легаси, просто была мысля попробовать брать ByteChannel на чтение реквеста из ktor и grpc схемой уже распарсивать в объекты руками :)
Это тогда не GRPC, а голый Protobuf. И это можно сколько угодно делать
источник

AN

Alexander Nozik in Kotlin JVM
Но можете напороться на проблемы совместимости
источник

RI

Ruslan Ibragimov in Kotlin JVM
grpc конечно удобно, но я тут заметил что у меня приложенько стало есть 70мб на диске, оказалось что я подключил гугловскую либу - grpc раз приехало, подключил snowflake драйвер - а там grpc внутри джарки как shadow, и потом в другой либе гугловой еще был grpc shadow. В итоге примерно 30мб одного grpc
источник

RI

Ruslan Ibragimov in Kotlin JVM
а это условно "скрипты", думал сейчас напихаю в контейнер таких десяток - но нет, придется все libs сгружать в одну папку, чтобы это не стало 700мб
источник

AN

Alexander Nozik in Kotlin JVM
Так, вроде все заработало. Осталась одна проблемка. Я получаю request, и у него в качестве хоста указывается ip6, который я не могу использовать. И у меня такое ощущение, что это ip того, от кого запрос идет. Как это чинить?
источник

AN

Alexander Nozik in Kotlin JVM
А, нет хост вроде от того, что надо, но почему он в ip6 формате?
источник

AM

Andrew Mikhaylov in Kotlin JVM
Alexander Nozik
А, нет хост вроде от того, что надо, но почему он в ip6 формате?
Про хост не совсем понял, это ж доменное имя сервера, которому адресуется запрос. Речь о IP сервера, каком-нибудь destination ip?

А сервер спрятан за реверс проксёй? Возможно, между реверс-прокси и сервером ipv6 натянут, вот и адреса оттуда.
источник

AN

Alexander Nozik in Kotlin JVM
Andrew Mikhaylov
Про хост не совсем понял, это ж доменное имя сервера, которому адресуется запрос. Речь о IP сервера, каком-нибудь destination ip?

А сервер спрятан за реверс проксёй? Возможно, между реверс-прокси и сервером ipv6 натянут, вот и адреса оттуда.
У меня все на локалхосте. Мне надо-то получить адрес, чтобы потом послать запрос к тому же серверу по другому протоколу или с другим путем. Просто как-то не получается.
источник

AM

Andrew Mikhaylov in Kotlin JVM
Alexander Nozik
У меня все на локалхосте. Мне надо-то получить адрес, чтобы потом послать запрос к тому же серверу по другому протоколу или с другим путем. Просто как-то не получается.
Разве что куда-то сюда смотреть 🤷‍♂ https://serverfault.com/questions/218745

Эцсамое:
1. А почему, собственно, ipv6 не подходит? Всё равно резолвингом адреса не ваш код занимается, какая разница, v4 или v6-то
2. С учётом этих всяких несколько раз упомянутых выше реверс-проксей обычно серверному софту сообщают его базовую урлу (или несколько, если у вас несколько разных слушателей на разных портах) с помощью переменных среды. Может, оно и не сильно надо, костылять под некоторые частные случаи резолв автоматом?
источник

AL

Anton Lakotka in Kotlin JVM
Да, в чем разница ipv6 или v4? Если нужно именно отправить запрос назад.
И я не видел всю ветвь обсуждения, про всякие reverse proxy уже упоминали?
источник

AL

Anton Lakotka in Kotlin JVM
хотя если все локально, то тогда не важно.
источник

AN

Alexander Nozik in Kotlin JVM
Andrew Mikhaylov
Разве что куда-то сюда смотреть 🤷‍♂ https://serverfault.com/questions/218745

Эцсамое:
1. А почему, собственно, ipv6 не подходит? Всё равно резолвингом адреса не ваш код занимается, какая разница, v4 или v6-то
2. С учётом этих всяких несколько раз упомянутых выше реверс-проксей обычно серверному софту сообщают его базовую урлу (или несколько, если у вас несколько разных слушателей на разных портах) с помощью переменных среды. Может, оно и не сильно надо, костылять под некоторые частные случаи резолв автоматом?
1. Ну так если бы работало по ip6, проблем бы не было. Но не коннектится.
2. Пока так и сделал. Для этого самого 0.0....1 сделал ручную замену
источник

AM

Andrew Mikhaylov in Kotlin JVM
Alexander Nozik
1. Ну так если бы работало по ip6, проблем бы не было. Но не коннектится.
2. Пока так и сделал. Для этого самого 0.0....1 сделал ручную замену
0.0....1 -- это что такое? IPv6 -- это либо ::1, либо 00:00:00:00:00:00:00:01 (или сколько там нулёв), но никак не точки.
источник

AN

Alexander Nozik in Kotlin JVM
Anton Lakotka
хотя если все локально, то тогда не важно.
http://0:0:0:0:0:0:0:1:7777//data/ вообще как адрес не распознается
источник

AN

Alexander Nozik in Kotlin JVM
Andrew Mikhaylov
0.0....1 -- это что такое? IPv6 -- это либо ::1, либо 00:00:00:00:00:00:00:01 (или сколько там нулёв), но никак не точки.
мне лень было нули писать
источник

AM

Andrew Mikhaylov in Kotlin JVM
Alexander Nozik
мне лень было нули писать
Не, меня точки смутили. Всё ок.

Порт в IPv6 приписывается не так, как в IPv4. Попробуйте
http://[::1]:7777/data
источник

AM

Andrew Mikhaylov in Kotlin JVM
(ну или полный ваш адрес, просто в квадратные скобки взять надо)
источник

AN

Alexander Nozik in Kotlin JVM
Andrew Mikhaylov
Не, меня точки смутили. Всё ок.

Порт в IPv6 приписывается не так, как в IPv4. Попробуйте
http://[::1]:7777/data
Так мне надо, чтобы оно автоматом это делало.
источник

AN

Alexander Nozik in Kotlin JVM
чего-то умное писать надо
источник