Roman
платформа типа UbuntuCore
А, linux. Насколько я помню, sock_seqpacket в linux вообще нет.
Mikhail
собсно я запускаю приложение сервер на С с sock_seqpacket и все собсно работает. Создает сокет. Но из ноды я могу коннектиться только к сокетам stream / dgram получаю ошибку, что не тот тип
Mikhail
ладно. присмотрюсь к turbo на LuaJit 2
Roman
Я посмотрел elixir, для af_unix и правда есть seqpacket, но различия с dgram минимальны
Mikhail
А почему именно seqpacket?
хороший вопрос. аналог стриминговый есть собсно. а так seqpacket надежный, двунаправленный. передача данных пакетами. удобно
Mikhail
Mikhail
Нет
ага.. я имел в виду у него не full-duplex
Mikhail
так что выбор: открыть не 1 а 2 сокета (можно dgram) использовать stream (full-duplex)
Roman
ага.. я имел в виду у него не full-duplex
Да дуплекс там. Вы путаете с pipe(2)
Mikhail
окай...unreliable a) SOCK_DGRAM - for unreliable connectionless messages b) SOCK_RDM - for reliable connectionless messages c) SOCK_SEQPACKET - for reliable connection-oriented messages d) SOCK_STREAM - for reliable connection-oriented byte streams
Mikhail
И?
ну выбрали SOCK_SEQPACKET - for reliable connection-oriented messages это как выбор между UDP и TCP
Mikhail
А причём тут tcp и udp?
аналогию (не тебе) привел про unreliable vs reliable доставку
Mikhail
собсно заказчик уже печатает сообщение.. почему он выбрал этот тип. я , когда читал док, предположил, что поэтому.
Mikhail
ага.. ну значит я предположил верно. ответили мне так: DGRAM - unreliable а еще плюс, что SEQPACKET читает целый пакет. не надо волноваться о куче пакетов в очереди все это можно в своем коде эмулировать и проверять, конечно
Roman
аналогию (не тебе) привел про unreliable vs reliable доставку
Крч, вот у нас есть address family, который бывает af_inet, af_unix, af_x25, af_packet... И в их рамках есть совсем немного режимов работы сокетов. Так вот, sock_dgram в зависимости от address family может быть reliable, а может и не быть
Roman
И для af_unix он reliable
Mikhail
щас цитатку твойю кину сюда...
Tverd
аналогию (не тебе) привел про unreliable vs reliable доставку
Бери enet, думаю покроет все твои хотелки
Mikhail
А, linux. Насколько я помню, sock_seqpacket в linux вообще нет.
Roman
Просто seqpacket настолько редкая хрень, что я удивился что кто-то этим пользуется
Roman
А, linux. Насколько я помню, sock_seqpacket в linux вообще нет.
Да, я ошибся и потом написал что af_unix оно есть Но ты можешь заметить, что af_seqpacket есть для af_inet, но по факту он везде нереализован
Roman
тут люди САМИ реализовали его с нуля.
Эээ.. зачем, если он уже есть в ядре? Вообще, какую исходную проблему вы решаете с af_unix + seqpacket?
Mikhail
исходная задача - связь множества удаленных клиентов с одним локальным процессом
Mikhail
не на том же
Roman
Тогда можно просто tcp + свой фрейминг
Mikhail
и мне надо как-то их разделять, .... понимать что этот коннект к сокету ЛОКАЛЬНОМУ(юникс) идет от 1 клиента, а этот от другого в DGRAM так не сделать
Mikhail
нельзя ассоциировать сессии с авторизованными юзерами
Roman
можно. но медленно
У вас там сотни гигабит что ли?
Tverd
медленно по пропуской способности или по частоте посыла пакетов?
Tverd
если по гигабайтам, то быстрее TCP думаю ничего не выйдет
Roman
больше сотен
100 гигабит?
Mikhail
100 гигабит?
600 гигабит
Roman
600 гигабит
Т.е. больше полтерабита трафика?
Roman
как-то странно звучит по цифрам. а что вы делаете?
Roman
роутеры чего?
@CyberSpirit, ты победил. Sublime Text наименее бесящий редактор кода для проектов на Lua+JS.
Hauve
То чувство, когда VS Code на все случаи жизни
То чувство, когда VS Code на все случаи жизни
То чувство, когда уже нет. Сегодня у меня какой-то плагин для гита (что-то популярное, вроде, GitLens) что-то там в фоне делал и отожрал 3 гигабайта оперативной памяти, из-за чего ноут ушёл в своп. И действительно качественных Lua-плагинов для VSCode нет. В общем, нужные плагины по качеству подкачали.
Hauve
Да также django расширение: пишешь любой питон скрипт, в нём import и он свои предложения по импорту из джанго суёт) Да, под определённые инструменты желательно определённый редактор. C++ - VS Python - pycharm, он хоть думает есть ли там джанго, а не просто предлагает Разве что что делать с lua, например, не ясно хд
Hauve
Нужен смелый человек, который перепишет все ide и редакторы со всяких джав и js'ов на Си
Hauve
Чтобы жрало поменьше
Anzhelika
Ничего лучше IDEA для луа не встречал
Anzhelika
С плагином emmylua
До тех пор, как попадётся файл на несколько тысяч строк.
*звуки скучания по Magit* Но нет, хорошие воспоминания о Magit не заставят вернуться к Emacs, только новые проблемы с Sublime Text перезапустят этот цикл.
Lämppi
Существования одного сублайма достаточно
"Мерзкая проприетарщина"?
Lämppi
Нет, он просто не гибкий
Hauve
Звучит страшно
Snusmumriken
Да ну, нотпад++ это та же scite, но под венду и с фичами.
Snusmumriken
Как хошь, тем не менее, scite это ещё и библиотека для произвольных текстовых редакторов, всеядная и портированная на всё подряд. Ах да, си. Пишешь любую обёртку, нотпад++ - это просто обёртка вокруг. Жрёт мало и открывает большие файлы.
Hauve
То, чем меня привлёк vs code - интерфейс, который явно привлекательнее нотпада, расширениями (да, они есть везде), ну и лёгкостью (относительно всяких ide)
Snusmumriken
На внешний вид пофигу, у тебя есть ядро, оформляй как хочешь.
Hauve
Мне не настолько скучно, чтобы так себе всё собирать. Я бы не сидел на винде, если бы хотел gentoo
Snusmumriken
Vs code был жирен для меня, когда я пользовался нетбуками, а scite везло и тащило ))
Hauve
А жирность в оперативке мне и не мешает. Про переписывание на си в шутку написал
Hauve
8 гб оперативки хватает. Хотя раньше и с 4 норм было
Snusmumriken
А я нет (( Я пробовал на нетбуке запускать vstudio чтобы писать на плюсах, и оно лагало жутко, а когда обновился до 2012 - вообще оказалось запускаться на 2гб рам ((
Snusmumriken
А vs code просто лагал. Между нажатием и реакцией могло до полусекунды пройти, в обычном мелком скрипте
Hauve
Вот да. Причина моего хейта студии
Разве что особо и нечего юзать. Нужно очень долбаться и всякие cmake учить ради сборки
Snusmumriken
Ну дык когда ты настраиваешь проект, ты фактически и делаешь тот же makefile. Инклюдишь директории, линкуешь, выставляешь флаги, все такое.