Linux カーネル (CONFIG_TIPC xconfig パラメータ) に付属する TIPC ネットワーク プロトコルを使用するには、どのようにプログラムすればよいですか?
TIPC を使用するアプリケーションはありますか?
Linux カーネル (CONFIG_TIPC xconfig パラメータ) に付属する TIPC ネットワーク プロトコルを使用するには、どのようにプログラムすればよいですか?
TIPC を使用するアプリケーションはありますか?
TIPC は、高可用性コンピューター クラスターでの通信を目的としています。主なアドレッシング方式は、場所よりもサービスに重点を置いています。TIPC は、冗長性のために複数の「ベアラ」を使用することもでき、リンクとプロセッサの監視機能を提供します。
コンピュータ クラスタで作業している場合を除き、おそらく TIPC を使用しないでください。
TIPC は標準のソケット インターフェイスを使用します。プロセッサー間で TIPC を使用する前に、クラスター内のプロセッサーを構成する必要があります。
TIPC を使用するアプリケーションの 1 つに「Open SAF」http://www.opensaf.org/があります。驚くほど高可用性クラスター sw ではありません。
TIPC を評価しているときに (私もこれは初めてです)、ここでいくつかの優れたデモ例を見つけました。誰かがそれらも役に立つと思うかもしれません
TIPCは「<em>Transparent Inter-Process Communication」の略です。
使用する前に、Linux カーネルのバージョンをチェックして、システムで有効になっていることを確認してください (とにかく追加できます)。
基本的に、Linux で 2 つ以上のプロセス/スレッド間で通信したい場合は、TIPC を使用する必要があります (IP レイヤーまたはその他のレイヤーが必要な場合、TIPC が最適なオプションかどうかはわかりません)。
TIPC プロトコル タイプを使用する場合、次のフィールドを含む「struct 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;
TIPC が何かはわかりませんでしたが、「AF_TIPC アドレス ファミリのソケット」としてアクセスできることを Google で検索しました。
この場合、他のソケット タイプと同様に、通常のソケット メカニズムを介してアクセスできるはずです。
struct sockaddr_in Foo;
...
memset(&Foo, 0, sizeof(Foo)); // Init address struct.
Foo.sin_family = AF_TIPC; // Instead of the usual AF_INET
etc.
ドキュメント (例を含む) があります。また、ドキュメントには、TIPC にも「ネイティブ」API があることが記載されています。