Provided by: manpages-zh_1.5-1_all bug

NAME ()
       udp - IPv4 上悸 UDP å”è­°.

SYNOPSIS ()
       #include <sys/socket.h>
       #include <netinet/in.h>
       udp_socket = socket(PF_INET, SOCK_DGRAM, 0);

DESCRIPTION(z)
       這是一     RFC768     中的使用者數據報å”議的實ç¾.      它實ç¾ç„¡é€£æŽ¥çš„,
       ä¸å¯é çš„æ•¸æ“šå ±ä¿¡æ¯åŒ…æœå‹™.    ä¿¡æ¯åŒ…å¯èƒ½åœ¨å®ƒæŠ¾ï¬æ“‰å„¦F之å‰å¥sæŽ’åºæˆ–者契_.
       UDP 通éŽç”Ÿæˆå’Œæª¢æŸ¥æ ¡é©—和來俘ç²å‚³è¼¸éŒ¯èª¤.

       當創建一  UDP  套接字時,  它的本地和é ç¨‹åœ°å€æ˜¯ä¸ç¢ºå®šçš„.  å¯ä»¥ä½¿ç”¨å¸¶ä¸€-
       茼陵艦堛漲aå€ä½œç‚ºåƒæ•¸çš„        sendto(2)        或者         sendmsg(2)
       ç«‹å³ç™¼é€æ•¸æ“šå ±.如果套接字上調用了  connect(2) 時, 則設置é è¨­çš„目的地å€,
       數據報å¯ä»¥ä½¿ç”¨   send(2)   或者    write(2)    發é€è€Œä¸éœ€n指定目的地å€.
       也å¯ä»¥é€šéŽå‚³éžä¸€èŒ¼aå€çµ¦ sendto(2) 或者 sendmsg(2) 來發é€åˆ°å…¶å®ƒç›®çš„地å€.
       為了接收信æ¯åŒ…,套接字必須漸用 bind(2) ç¶å®šä¸€èŒˆèªša地å€, 如果沒有這麼åš,
       套接字層在第一茖æ´å³ˆæˆ”策狠虼D時將自動分é…一茈誚a端å£.

       所有接收æ“作åªè¿”回一茷Hæ¯åŒ….              ç•¶ä¿¡æ¯åŒ…å°æ–¼æ‰€å‚³éžçš„ç·©æ²–å€æ™‚,
       則åªè¿”回那些數據,       ç•¶ä¿¡æ¯åŒ…大於所傳éžçš„ç·©æ²–å€æ™‚,則截斷信æ¯åŒ…並設置
       MSG_TRUNC 標誌.

       IP  é¸é …å¯ä»¥ä½¿ç”¨æzæ–¼ ip(7) 中的套接字é¸é …ç™¼é€æˆ–接收.  åªæœ‰æ‰“開了åˆé©çš„
       sysctl 時, 核心æ‰è™•ç†å®ƒ(ä¸éŽå³ä½¿é—œé–‰äº†å®ƒ, ä»ç„¶æœƒå‚³éžçµ¦ä½¿ç”¨è€…).   åƒè¦‹
       ip(7).

       如果設置了  MSG_DONTROUTE 標誌,å‰‡ç™¼é€æ™‚目的地å€å¿…須指å‘一茈誚a接å£åœ°å€,
       而且信æ¯åŒ…åªç™¼åˆ°è©²æŽ¥å£.

       ç•¶ UDP çš„ç¸½é•·è¶…éŽæŽ¥å£ MTU(Maximum  Transmission  Unit  最大傳輸單元)時,
       UDP   會å°ä¿¡æ¯åŒ…進行分段.    一è颽å•蘢穭穻nçš„å¯é¸æ–¹æ³•是使用  path  MTU
       discovery(路徑MTU發ç¾), 它æzæ–¼ ip(7) 中的 IP_PMTU_DISCOVER 部分.

ADDRESS FORMAT ()
       UDP 使用 IPv4 çš„ sockaddr_in åœ°å€æ ¼å¼,å…¶æzæ–¼ ip(7) 中.

ERROR HANDLING ()
       所有咫jéŒ¯èª¤éƒ½æœƒä»¥éŒ¯èª¤è¿”å›žïŸ´æ¼±é–¬â–²ï¨æ’麂æ´å³ˆ,
       å³ä½¿å¥—接字沒有連接亦如此.é€™ç¨®è™•ç†æ–¹å¼æœ‰åˆ¥æ–¼è¨±å¤šå…¶å®ƒçš„               BSD
       å¥—æŽ¥å­—å¯¦ç¾æ–¹æ³•, 除éžå¥—接字連接上,  å¦å‰‡é‚£äº›æ–¹æ³•䏿œƒå‚³éžä»»ä½•錯誤,  Linux
       çš„è™•ç†æ–¹å¼éµå¾ª RFC1122 çš„n求.

       為了與以å‰çš„代碼相容,å¯ä»¥è¨­ç½®          SO_BSDCOMPAT          SOL_SOCKET
       é¸é …令åªåœ¨å¥—接字已連接的情æ³ä¸‹æŽ¥æ”¶é ç¨‹éŒ¯èª¤( EPROTO å’Œ  EMSGSIZE)  除外.
       最好是袨_代碼並é©ç•¶åœ°è™•ç†éŒ¯èª¤,                         而ä¸n打開該é¸é ….
       本地產生的錯誤總是傳éž.

       當打開了   IP_RECVERR    é¸é …時,    所有錯誤å¯ä»¥å­˜å„²åœ¨å¥—接字錯誤隊列中,
       並å¯ä»¥é€šéŽå¸¶ MSG_ERRQUEUE 標識設置的 recvmsg(2) 來接收.

ERRORS ()
       所有列在 socket(7) 或 ip(7) 中的錯誤都å¯ä»¥åœ¨ä¸€ UDP 套接字上收發時收到.

       ECONNREFUSED     沒有與目的地å€ç›¸é—œè¯çš„æŽ¥æ”¶è€….       這å¯èƒ½ç”±æ–¼åœ¨å‰æƒœ@-
       茬qéŽè©²å¥—接字發é€çš„ä¿¡æ¯åŒ…而引發.

VERSIONS()
       IP_RECVERR 是 Linux 2.2 中的新功能.

CREDITS()
       æœ¬æ‰‹å†Šéšæ¼£@者為 Andi Kleen.

SEE ALSO()
       ip(7), socket(7), raw(7).

       RFC768: 使用者數據報å”è­°.
       RFC1122: 主機需求
       RFC1191: æz path MTU discovery (路徑MTU查找).

[]
       riser <boomer@ccidnet.com>

[]
       2001/07/19

ã€mä¸ä»åœç˜linuxan:
       http://cmpp.linuxforum.net