INET ソケットと他のソケットの違いを教えてもらえますか?
INET ソケットを使用できるようにする C# ライブラリはありますか?
それが何であるかを見つけようとしましたが、あまり有用なものは見つかりませんでした。UNIXの世界の何かだと思います。
ソケットは、通信エンドポイントを抽象化したものにすぎません。エンティティ間の元の通信は、異なる通信方法を使用する場合があります。Linux の INET ソケットはインターネット ソケット、つまり IP プロトコル ベースのソケットですが、他にも多くの種類があります。私が最近対処しなければならなかったのは、ユーザー プロセスと Linux カーネル間の IPC メカニズムとして使用される Netlink ソケットです。IP アドレスとポートを使用する INET ソケットとは対照的に、Netlink ソケットは Linux プロセス ID を使用して通信相手を識別します。標準の Linux マシンでは、ファイル /usr/include/linux/socket.h を開いて AF_MAX を探すことができます。現在のソケット API でサポートされているプロトコル ファミリの数を示すマクロです。私のマシンでは37です。
Windows API に INET ソケットと呼ばれるものがあるかどうかはわかりません。Windows 向けの開発はあまり行っていません。
一般的なファイル システムを共有する 2 つのプロセスが通信する unix ドメインと、インターネット上の任意の 2 つのホストで実行されている 2 つのプロセスが通信するインターネット ドメインの 2 つの広く使用されているアドレス ドメインがあります。これらにはそれぞれ独自のアドレス形式があります。
Unix ドメインのソケットのアドレスは、基本的にファイル システムのエントリである文字列です。
インターネット ドメイン内のソケットのアドレスは、ホスト マシンのインターネット アドレスで構成されます (インターネット上のすべてのコンピュータには、IP アドレスと呼ばれる固有の 32 ビット アドレスがあります)。
From: Linux ハウツー
Socketオブジェクトをインスタンス化するときに、Socketのタイプを指定します。
var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
INET ソケットが何であるかはわかりません (私が見つけた最も近いものはHow can I map a local unix socket to an inet socket? でした) が、.NET Framework はSystem.Net.Sockets名前空間のソケットをサポートしています。特にSocketクラス。