2010-05-23 3 views
1

Как я должен программировать сетевой протокол TIPC, который поставляется с ядром linux (параметр CONFIG_TIPC xconfig)?Сетевой протокол TIPC в Linux

Есть ли какие-либо приложения, в которых используется TIPC?

+0

https://sourceforge.net/projects/tipc/ – osgx

ответ

0

Я понятия не имел, что такое 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.

1

TIPC предназначен для связи в высокой доступности компьютерных кластеров. Основная схема адресации ориентирована на обслуживание, а не на местоположение. TIPC также может использовать несколько «носителей» для резервирования и предоставляет функции для контроля над ссылками и процессорами.

Если вы не работаете с компьютерными кластерами, вероятно, вы не должны использовать TIPC.

TIPC использует стандартный интерфейс сокета. Вы должны настроить процессоры в кластере, прежде чем использовать TIPC между процессорами.

Одно приложение, использующее TIPC, является «Open SAF» http://www.opensaf.org/. Не удивительно, что кластер высокой доступности sw.

+0

Я работаю с кластерами. – osgx

1

При оценке TIPC (я также новичок в этом), я нашел несколько отличных примеров демо here. может быть кто-то найдет их полезными тоже

1

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; 
Смежные вопросы