Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ udp(4P) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getsockopt(2)

recv(2)

send(2)

soket(2)

intro(4N)

inet(4F)

ip(4P)

UDP(4P)  —  NEWS-OS Programmer’s Manual

名称

udp − インターネットユーザデータグラムプロトコル

形式

#include <sys/socket.h>
#include <netinet/in.h>

s = socket(AF_INET, SOCK_DGRAM, 0);

解説

UDP は、単純でそれほど信頼性の高くないデータグラムプロトコルで、 インターネットプロトコルファミリの SOCK_DGRAM を サポートするために使用されます。 UDP ソケットはコネクションを張ることなく、 sendto コールや recvfrom コールで使用されます。しかし、以降のパケットの相手先を固定するために、 connect(2) システムコールを使用してもかまいません (この場合、 recv(2) または read(2)、 send(2)、 write(2) コールが使用されます)。

UDP アドレス形式は、TCP によって使われているものと同じです。 UDP では特に、通常のインターネットアドレス形式に加えて、 ポートアドレスを用意しています。 UDP のポート空間は、TCP ポート空間とは 別になっています (すなわち、UDP のポートを TCP のポートに接続できません)。 さらに、あらかじめ登録しておいたブロードキャストアドレスを使って、 ブロードキャストパケットを送ることができます (ブロードキャストを送ることの できるネットワークを仮定しています)。 ブロードキャストアドレスはネットワークインターフェースに依存したものです。

IP 転送レベルでのオプションを、UDP で使用することができます。詳しくは、 ip(4P) を参照してください。

診断

ソケット操作が失敗すると、次のエラーの 1 つが返されます。

[EISCONN] すでに接続されているソケットに接続しようとした。 または、指定された相手側アドレスにデータを送ろうしたが、 既に接続されていた。

[ENOTCONN] データを送ろうとしたが、相手側アドレスの指定がないか、 または接続されていない。

[ENOBUFS] システムが内部のデータ構造のためにメモリを使い切った。

[EADDRINUSE]
既に割り当て済みのポートにソケットを作ろうとした。

[EADDRNOTAVAIL]
ネットワークインターフェースが存在しないのに、 そのネットワークアドレスでソケットを作ろうとした。

関連事項

getsockopt(2), recv(2), send(2), soket(2), intro(4N), inet(4F), ip(4P)

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026