Linuxソケットシステム

最終更新: 2022-05-18 17:00:37 +0800 +0800
原文は英語で書かれています。あなたはAI翻訳版を読んでいます。

ソケットは、通信チャネルの一方のエンドポイントを表すファイルディスクリプターです。 プログラムは socket(2) でソケットを作成し、通常はそれを bind または connect して、 read(2)/write(2) または send(2)/recv(2) を使用します。

c
int sockfd = socket(int domain, int type, int protocol);

domain は AF_INET、AF_INET6、AF_UNIX、AF_NETLINK などのアドレスファミリーを 選択します。type は SOCK_STREAM、SOCK_DGRAM、SOCK_SEQPACKET などの意味論を 選択します。protocol は通常、その組み合わせにおける具体的なプロトコルを選択し、 0 の場合はデフォルトが選択されます。

一般的なソケットファミリー #

FamilyAddressCommon Uses
AF_UNIXPathname or abstract nameLocal IPC
AF_INETIPv4 address and portTCP, UDP, raw IP
AF_INET6IPv6 address and portTCP, UDP, raw IPv6
AF_NETLINKKernel protocol and port IDKernel configuration APIs
AF_PACKETInterface and Ethernet protocolLink-layer packet access
AF_VSOCKVM CID and portHost/guest communication

コメント

GitHub で閲覧・コメントする(投稿にはログインが必要です)