Как я должен программировать сетевой протокол TIPC, который поставляется с ядром linux (параметр CONFIG_TIPC xconfig)?Сетевой протокол TIPC в Linux
Есть ли какие-либо приложения, в которых используется TIPC?
Как я должен программировать сетевой протокол TIPC, который поставляется с ядром linux (параметр CONFIG_TIPC xconfig)?Сетевой протокол TIPC в Linux
Есть ли какие-либо приложения, в которых используется TIPC?
Я понятия не имел, что такое TIPC, но я обнаружил, что он может быть доступен как «сокеты семейства адресов AF_TIPC».
В этом случае, вы должны быть в состоянии получить к нему доступ через регулярный механизм сокетов, как и любой другой тип сокета:
struct sockaddr_in Foo;
...
memset(&Foo, 0, sizeof(Foo)); // Init address struct.
Foo.sin_family = AF_TIPC; // Instead of the usual AF_INET
etc.
документация (которая включает в себя примеры) является there. И в документации упоминается, что TIPC имеет «собственный» API.
Программное обеспечение:
http://www.google.com/codesearch?ie=UTF-8&q=AF_TIPC
CodeResults 1 - 10 из 587. (0,36 секунд)
TIPC предназначен для связи в высокой доступности компьютерных кластеров. Основная схема адресации ориентирована на обслуживание, а не на местоположение. TIPC также может использовать несколько «носителей» для резервирования и предоставляет функции для контроля над ссылками и процессорами.
Если вы не работаете с компьютерными кластерами, вероятно, вы не должны использовать TIPC.
TIPC использует стандартный интерфейс сокета. Вы должны настроить процессоры в кластере, прежде чем использовать TIPC между процессорами.
Одно приложение, использующее TIPC, является «Open SAF» http://www.opensaf.org/. Не удивительно, что кластер высокой доступности sw.
Я работаю с кластерами. – osgx
При оценке TIPC (я также новичок в этом), я нашел несколько отличных примеров демо here. может быть кто-то найдет их полезными тоже
TIPC означает «Transparent Inter-Process Communication».
Прежде чем использовать его, вы должны проверить свою версию ядра Linux, чтобы убедиться, что она включена в вашей системе (в любом случае вы можете ее добавить).
В принципе, если вы хотите связываться между двумя или несколькими процессами/потоками в Linux, вы должны использовать TIPC (если вам нужен IP-уровень или любой другой уровень, я не уверен, что TIPC - лучший вариант).
Использование TIPC типа протокола, вы должны использовать «структура sockaddr_tipc», которые содержат следующие поля:
.family = AF_TIPC;
.addrtype = TIPC_ADDR_NAMESEQ; (or …_MCAST, … _NAME,… _ID)
.scope = TIPC_ZONE_SCOPE; (or …CLUSTER…, …NODE…)
.addr.nameseq.type = TIPC_APP_TYPE_ANY_NUMBER_IS_GOOD;
.addr.nameseq.lower = 1;
.addr.nameseq.upper = 1024;
https://sourceforge.net/projects/tipc/ – osgx