LINUX.ORG.RU

Сокеты. Потом это легко и изящно при необходимости перепиливается под tcp - и получается сетевой сервис.

anonymous
()

Если особых требований к производительности нет, делай tcp соединение на localhost.

(Уточню, Udp на localhost, скорее всего, делает не то, что ты от него ожидаешь: он (хорошо так!) теряет датаграммы, поэтому будь внимательней)

А лучше всего использовать либы, которые просто позволяют поменять tcp на unixsocket, тогда у тебя не будет болеть об этом голова, а ты просто протестируешь оба варианта

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Как может вообще придти в голову идея использовать IP для локальных соединений?

Unix sockets - это быстрее и эффективнее (нет оверхеда IP), надёжнее (нет потерь пакетов), безопаснее (работает обычный механизм файловых прав доступа, левый юзер не подключится к демону), проще в настройке (не нужно трогать фаирвол, например).

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

проще в настройке (не нужно трогать фаирвол

о, это норм, не думал об этом.

Deleted
()
Ответ на: комментарий от AnDoR

Из моды, похоже, выходит минимальная техническая грамотность, в частности понимание разницы между низкоуровневыми средствами IPC и абстракциями уровнем выше.

Во-первых, ZMQ работает над теми же IP или unix domain sockets, так что на оригинальный вопрос вы своим неуместным советом не ответили, во-вторых, нафиг оно тут не впёрлось.

slovazap ★★★★★
()
Ответ на: комментарий от Deleted

Снобы - те, кто юзать ZeroMQ предлагают

Оно работает? Работает.
Оно просто используется? Просто.
Что ещё надо?

AnDoR ★★★★★
()

для двухсторонней связи демон-gui?

Dbus?

holuiitipun
()

предложу еще и такой вариант - гуй просто в отдельный тред, открывать по необходимости, хоть локально, хоть удаленно, используя сетевую прозрачность иксов

ananas ★★★★★
()
Ответ на: комментарий от slovazap

Unix sockets - это быстрее и эффективнее

Единственное «но» - размер пакета ограничен одной страницей (т.е. 4к).

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от mashina

Что такое двухсторонняя связь localhost?

Это я ступил. Мне типичное использование нужно, аргументы слать, результаты получить.

steemandlinux ★★★★★
() автор топика
Ответ на: комментарий от slovazap

Unix sockets - это быстрее и эффективнее (нет оверхеда IP), надёжнее (нет потерь пакетов), безопаснее (работает обычный механизм файловых прав доступа, левый юзер не подключится к демону), проще в настройке (не нужно трогать фаирвол, например).

В реальности имеет смысл только утверждение про права доступа. Остальное нерелевантно. Скорости тут с избытком (в ядре есть оптимизации для локального трафика) и на фаерволе никто loopback трафик не фильтрует.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Скорости тут с избытком (в ядре есть оптимизации для локального трафика)

В каком-каком ядре?

на фаерволе никто loopback трафик не фильтрует

Отучаемся говорить за всех.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

В каком-каком ядре?

Тут я ошибся. Линукс, похоже, не содержит сетевого кода специфичного для lo-интерфейса.

Отучаемся говорить за всех.

Я ожидал этой фразы. Какой use case у фильтрации локального трафика?

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.