Size: a a a

2019 December 05

YT

Yauheni Tsiarokhin in ErlangRus
вот из доки как должна опция
raw
выглядеть
 {raw,
    Protocol :: integer() >= 0,
    OptionNum :: integer() >= 0,
    ValueSpec ::
        (ValueSize :: integer() >= 0) | (ValueBin :: binary())}
источник

YT

Yauheni Tsiarokhin in ErlangRus
ктонибудь может пояснить где посомтреть какие числа какие протоколы и опции означают?
источник

LW

Lev Walkin in ErlangRus
man setsockopt, man 7 tcp
источник

LW

Lev Walkin in ErlangRus
open -h socket.h (на маке)
источник

LW

Lev Walkin in ErlangRus
less /usr/include/sys/socket.h (на хрюниксах)
источник

c🦊

cleverfox 🦊 in ErlangRus
Ну да. В линухе вроде 15 опция reuseport
источник

LW

Lev Walkin in ErlangRus
swift<enter>
import Foundation
SO_REUSEPORT
источник

c🦊

cleverfox 🦊 in ErlangRus
Только TCP, кажется не 1, а 6
источник

СИ

Сергей Иванов in ErlangRus
вы шутите чтоль? а нельзя просто {reuseport, true} при открытии сказать?
источник

LW

Lev Walkin in ErlangRus
SOL_SOCKET это не TCP
источник

YT

Yauheni Tsiarokhin in ErlangRus
заработало
1> gen_tcp:listen(8110, [{raw, 65535, 512, <<1:32/native>>}]).
{ok,#Port<0.5>}
2> gen_tcp:listen(8110, [{raw, 65535, 512, <<1:32/native>>}]).
{ok,#Port<0.6>}
3> gen_tcp:listen(8110, [{raw, 65535, 512, <<1:32/native>>}]).
{ok,#Port<0.7>}
источник

LW

Lev Walkin in ErlangRus
Yauheni Tsiarokhin
заработало
1> gen_tcp:listen(8110, [{raw, 65535, 512, <<1:32/native>>}]).
{ok,#Port<0.5>}
2> gen_tcp:listen(8110, [{raw, 65535, 512, <<1:32/native>>}]).
{ok,#Port<0.6>}
3> gen_tcp:listen(8110, [{raw, 65535, 512, <<1:32/native>>}]).
{ok,#Port<0.7>}
а что там с опцией reuseport?
источник

LW

Lev Walkin in ErlangRus
Сергей Иванов
вы шутите чтоль? а нельзя просто {reuseport, true} при открытии сказать?
пришёл лесник... :)
источник

YT

Yauheni Tsiarokhin in ErlangRus
нашел на стэковерфлоу вот такое замечание
so_reuseport =
 case :os.type() do
   {:unix, :linux} -> {:raw, 1, 15, <<1::32-native>>}
   {:unix, :darwin} -> {:raw, 0xffff, 0x0200, <<1::32-native>>}
 end
источник

YT

Yauheni Tsiarokhin in ErlangRus
я просто вот это перевел в десятичное и заработало
источник

LW

Lev Walkin in ErlangRus
Yauheni Tsiarokhin
заработало
1> gen_tcp:listen(8110, [{raw, 65535, 512, <<1:32/native>>}]).
{ok,#Port<0.5>}
2> gen_tcp:listen(8110, [{raw, 65535, 512, <<1:32/native>>}]).
{ok,#Port<0.6>}
3> gen_tcp:listen(8110, [{raw, 65535, 512, <<1:32/native>>}]).
{ok,#Port<0.7>}
@maxlapshin ты как reuseport передавал для dhcp? Так, или как-то иначе?
источник

LW

Lev Walkin in ErlangRus
А то сейчас окажется, что у Макса ничего не работало, потому что флаги от линукса использовал на маке.
источник

YT

Yauheni Tsiarokhin in ErlangRus
ну вот и у меня то же самое было
источник

YT

Yauheni Tsiarokhin in ErlangRus
я правда так и не нашел в манах какие флаги на маке
источник

LW

Lev Walkin in ErlangRus
man setsockopt же
источник