[bug][wishlist]I have tranlate socket(2) man into chinese

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



subscribe linux-man

I will format it later












In memories of HIZUKI AYAKA ,the angel! 吹智也
SOCKETï¼?2ï¼?

å??å­?
	socket - 建ç«?ä¸?个ç?¨äº?交æµ?ç??端ç?¹

��
	#include <sys/type.h>  /*å??è§?注æ??*/
	#include <sys/socket.h>

	int socket(int domain, int type, int protocol);

æ??è¿°
	socket() 建ç«?ä¸?个ç?¨äº?交æµ?ç??端ç?¹å¹¶ä¸?è¿?å??ä¸?个æ??è¿°ã??

	domain å??æ?°æ??å®?ä¸?个é??讯å??å??ï¼?é??æ?©ç??å??è®®å°?ä¼?ç?¨äº?é??讯ã??å??è®®å??å?¨ <sys/socket.h> 中å®?ä¹?ã?? ç?®å??å·²ç?¥ç??æ ¼å¼?å??æ?¬ï¼?
	
	å??称			ç?®ç??				æ??å??页
	AF_UNIX, AF_LOCAL	æ?¬å?°é??讯			unix(7)
       AF_INET             IPv4 ç½?ç»?å??è®®			ip(7)
       AF_INET6            IPv6 ç½?ç»?å??è®®			ipv6(7)
       AF_IPX              IPX - Novell å??è®®
       AF_NETLINK          Kernel user interface device     netlink(7)
       AF_X25              ITU-T X.25 / ISO-8208 å??è®®	x25(7)
       AF_AX25             Amateur radio AX.25 å??è®®
       AF_ATMPVC           Access to raw ATM PVCs
       AF_APPLETALK        Appletalk                        ddp(7)
       AF_PACKET           Low level packet interface       packet(7)

	å¥?æ?¥å­? é??è¿? type å??æ?°æ?¥ç¡®å®?é??信语ä¹?ã??ç?®å??å®?ä¹?ç??ç±»å??æ??ï¼?

       SOCK_STREAM     æ??ä¾?æ??åº?ç??ï¼?å?¯é? ç??ï¼?å??å??ç??ï¼?å?ºäº?å­?è??æµ?ç??é??讯ã??å?¯è?½æ?¯æ??å¤?ä¿¡é??ä¼ è¾?ã??

       SOCK_DGRAM      æ??ä¾?æ?°æ?®æ?¥ï¼?ä¸?é?¢å??è¿?æ?¥ç??, ä¸?å?¯é? ç??å?ºå®?æ??大é?¿åº¦ç??ä¿¡æ?¯ï¼? 

       SOCK_SEQPACKET  æ??ä¾?æ??åº?ç??ï¼?å?¯é? ç??ï¼?å??å??ç??ï¼?å?ºäº?å?ºå®?æ??大é?¿åº¦ç??æ?°æ?®æ?¥ä¼ è¾?è·¯å¾?ï¼?é??è¦?ä¸?个读å??æ?´ä¸ªä¼´æ??è¾?å?¥ç³»ç»?è°?ç?¨ç??å??ç??ç?¨æ?·ã??

       SOCK_RAW        æ??ä¾?æ?ªå? å·¥(raw)ç??ç½?ç»?å??è®®é??é??ã?? 

       SOCK_RDM        æ??ä¾?å?¯é? ç??æ?°æ?®æ?¥å±?ï¼?ä½?æ?¯ä¸?ä¿?è¯?顺åº?ã?? 

       SOCK_PACKET     åº?å¼?ç??ï¼?ä¸?åº?该å?¨æ?°ç??ç¨?åº?中使ç?¨ï¼?å??è??packet(7)ã??

	ä¸?äº?å¥?æ?¥å­?ç±»å??并æ?ªè¢«æ??æ??ç??å??è®®å®?ç?°ï¼? ä¾?å¦?ï¼?SOCK_SEQPACKET 并ä¸?被 AF_INET å®?ç?°ã??
	
	ä»? Linux 2.6.27 å¼?å§?ï¼? type å??æ?°å?¯ä»¥æ??ä¾?å?¶ä»?ç??å??è?½ï¼? 注æ??ä¸?äº? å¥?æ?¥å­? ç±»å??å?¯è?½å??æ?¬ä¸?ä¸?å?¼ç??æ??ä½?ï¼?ç?¨æ?¥ä¿®æ?¹ socket() ç??è¡?为ã??

	SOCK_NONBLOCK   设置 O_NONBLOCK ç??æ ?å¿?äº?æ?°æ??å¼?ç??æ??件æ??述符ã?? é??è¿?è¿?个æ ?å¿?å?¯ä»¥ä¸?ç?¨è°?ç?¨ fcntl(2) æ?¥è¾¾å?°ç?¸å??ç??ç»?æ??ã??

	SOCK_CLOEXEC    设置 close-on-exec (FD_CLOEXEC) ç??æ ?å¿?äº?æ?°æ??å¼?ç??æ??件æ??述符ã??å??å?  open(2) 中å?³äº? O_CLOEXEC ç??æ??è¿°ï¼?å? ä¸º
	                  ä¸?äº?å??å? è¿?个æ ?å¿?å¾?æ??ç?¨ã??

	protocol æ??å®?ä¸?个å??è®®ç?¨äº?å¥?æ?¥å­?ã??ä¸?è?¬æ??å?µä¸?ï¼?å?¨ç»?å®?ç??å??议中å?ªå??许å?¨ä¸?个 å¥?æ?¥å­? ä¸?使ç?¨ä¸?个å??è®®ï¼? 注æ?? protocol å?¯ä»¥ç?¥é??为æ?°å­? 0 ã??
	ä½?æ?¯ï¼? å?¯è?½å­?å?¨ç??å¾?å¤?å??è®®ï¼? ä½?æ?¯å?¨æ?¬æ??å??ç??å??è®®å¿?须使ç?¨ä¸?个ã??å??è®®ç?¨äº?æ??å®?é??讯å??ç??å?°æ?¹ç??â??é??讯å??å??â??ï¼? å??è?? protocol(5) ã??
	å??è?? getprotoent(3) 中å?³äº?å¦?ä½?æ??å??è®®å??称å­?符串ä¸?å??è®®ç¼?å?·è¿?è¡?æ? å°?ã??

       SOCK_STREAM ç±»å??ç??å¥?æ?¥å­?æ?¯å??å??ç?´æ?¥æµ?ï¼? å??管é??å??å??ç?¸ä¼¼ã?? ä»?们ä¸?对记å½?溢å?ºæ??ä¾?ä¿?æ?¤ã?? ä¸?个å¥?æ?¥å­?æµ?å?¨æ?¥å??æ??å??å?ºä»»ä½?æ?°æ?®æ?¶å¿?é¡»å¤?äº?å·²è¿?æ?¥ç??ç?¶æ??ã??å??å?¶å®?å¥?æ?¥å­?é??è¿?connect(2) è°?ç?¨æ?¥å»ºç«?è¿?æ?¥ã?? ä¸?æ?¦è¿?æ?¥ï¼? æ?°æ?®å?¯è?½é??è¿? read(2) å?? write(2) è°?ç?¨ä¼ è¾?ï¼?ä¹?æ??è??æ?¯ä¸?å??ç?? send(2) å?? recv(2) è°?ç?¨ã??å½?ä¼?è¯?ç»?æ??æ?¶ï¼?å?¯è?½ä¼?æ?§è¡? close(2)ã??带å¤?æ?°æ?®å?¯è?½ä¹?ç?¨ send(2) å?? recv(2) æ??è¿°ä¸?æ?¥å??ã??

	SOCK_STREAM ç±»å??ç??ç??é??ä¿¡å??è®®åº?ç¡®ä¿?ä¿¡æ?¯ä¸?丢失ä¸?é??å¤?ã??å¦?æ??ä¸?å??æ??å??è®®ç¼?å?²ç??æ?°æ?®ä¸?è?½å?¨å??ç??æ?¶é?´å??ä¼ è¾?ï¼?è¿?æ?¥ä¼?被认为è¶?æ?¶ã??å½?å?¨å¥?æ?¥å­?ä¸?å?¯ç?¨ SO_KEEPALIVE ï¼?å??è®®ä¼?以å?¶ç?¹å®?æ?¹å¼?æ£?æ?¥å?¦ä¸?端æ?¯å?¦æ´»ç??ã??å½?ä¸?个è¿?ç¨?æ?¥å??æ??å??é??äº?ä¸?个é??误ç??æ?°æ?®æµ?ï¼?ä¼?产ç??并æ?¥å??ä¸?个 SIGPIPE ä¿¡å?·ï¼?对äº?é??å??é»?认å¤?ç??此信å?·ç??è¿?ç¨?ï¼?å®?å°?ä¼?é??å?ºã??SOCK_SEQPACKET å¥?æ?¥å­?é??ç?¨å?? SOCK_STREAM å¥?æ?¥å­?ç?¸å??ç??ç³»ç»?è°?ç?¨ã??å?¯ä¸?ä¸?å??ç??æ?¯ï¼?read(2) ç³»ç»?è°?ç?¨å?ªä¼?è¿?å??请æ±?ç??æ?°æ?®é??ï¼?并å°?ä½?ä¸?å?°è¾¾ç??ä»»ä½?æ?°æ?®æ?°æ?®å??丢å¼?ã??æ­¤å¤?æ??æ??ç??æ¶?æ?¯è¾¹ç??ç??ä¼ å?¥ç??â??â??æ?°æ?®æ?¥å°?被ä¿?ç??ã??

	SOCK_DGRAM å?? SOCK_RAW ç±»å??ç??å¥?æ?¥å­?æ?¯æ??ç?¨ sendto(2) ç³»ç»?è°?ç?¨æ?¥å??é??æ?°æ?®æ?¥ï¼? å?¨æ?°æ?®æ?¥é??常æ?¯ç?¨ recvfrom(2) æ?¥æ?¥å??ç??ï¼?è¿?个è°?ç?¨ä¼?å?¨ä¸?ä¸?个æ?°æ?®æ?¥ä¸­å??ç?¬ç??è¿?å??å??é??è??ç??å?°å??ã??
	
	SOCK_PACKET æ?¯ä¸?个é??ç??ç??å¥?æ?¥å­?ç±»å??ï¼?ç?¨æ?¥ä»?设å¤?驱å?¨ä¸­æ?¥å??å??å§?æ?°æ?®ï¼?å·²ç»?被 packet(7) è°?ç?¨å??代ã??

	fcntl(2) ç?? F_SETOWN æ??ä½?å?¯ä»¥å?¨å¸¦å¤?æ?°æ?®å?°è¾¾æ?¶è®©è¿?ç¨?æ??è¿?ç¨?ç»?ä¼?æ?¶å?°ä¸?个 SIGURG ä¿¡å?·ï¼?æ??è??å?¨ SOCK_STREAM ç±»å??ç??è¿?æ?¥å?¨è¢«ä¸?æ??æ??å?°æ??æ?­æ?¶ï¼?æ?¶å?° SIGPIPE ä¿¡å?·ã??è¿?个æ??ä½?ä¹?å?¯è?½è¢«ç?¨äº?让è¿?ç¨?æ??è¿?ç¨?ç»?é??è¿? SIGIO æ?¥æ?¶ I/O å?? I/O ä¸?å??æ­¥ç??é??ç?¥ã??使ç?¨ F_SETOWN
ç­?å??äº?使ç?¨äº? FIOSETOWN æ?? SIOCSPGRP å??æ?°ç?? ioctl(2) ç³»ç»?è°?ç?¨ã??
	
	å½?ç½?ç»?å??å??议模å??å??å?ºä¸?个é??误æ??å?µç??ä¿¡å?·(ä¾?å¦?, 对 IP 使ç?¨ ICMP æ¶?æ?¯ï¼? ï¼?å¥?æ?¥å­?å°?ä¼?设置ä¸? pending é??误æ ?å¿?ã?? 对å¥?æ?¥å­?æ?¥ä¸?å?»ç??æ??ä½?å°?ä¼?è¿?å?? pending é??误ç??é??误代ç ?ã??对äº?ä¸?äº?å??è®®ï¼?å?¯è?½ä¼?为æ¯?ä¸?个æ?¥å­?æ?¥å?¯ç?¨ä¸?个ç?¨äº?å??å?ºè¯¦ç»?é??误信æ?¯ç??é??误å??é??ï¼? å??è§? ip(7) 中ç?? IP_RECVERR ã??

	å¥?æ?¥å­?ç??æ??ä½?ç?±å¥?æ?¥å­?级ç??é??项æ?¥æ?§å?¶ã?? è¿?äº?é??项å®?ä¹?äº? <sys/socket.h> 中ã?? setsockopt(2) å?? getsockopt(2) ç?¨äº?å??å?«ç?¨äº?设置å??读å??é??项ã??

è¿?å??å?¼
	æ??å??æ?¶ï¼?ä¼?è¿?å??æ?°å¥?æ?¥å­?ç??æ??件æ??述符ã??é??误æ?¶ï¼?è¿?å?? -1 ï¼?å??æ?¶ errno ä¼?被é??å½?设置ã??

é??误
	EACCES ä¸?å??许å??建æ??å®?ç?? ç±»å?? å??/æ?? æ??å®?ç??å??è®®ç??å¥?æ?¥å­?ã??

	EAFNOSUPPORT
		å·¥å?·ä¸?æ?¯æ??æ??å®?ç??å?°å??ã??

	EINVAL æ?ªç?¥å??è®®ï¼?æ??å??è®®ç»?ä¸?å?¯ç?¨ã??
	
	EINVAL é??误ç?? type æ ?å¿?ã??

	EMFILE è¿?ç¨?æ??件表溢å?ºã??

	ENFILE å·²ç»?è¾¾å?°ç³»ç»?ä¸?é??ç??æ??件æ??å¼?æ?°ã??

	ENOBUFS æ?? ENOMEM
		没æ??足å¤?ç??å??å­?ï¼?ç?´å?°æ??å?¯ç?¨ç??èµ?æº?å¥?æ?¥å­?ä¸?è?½è¢«å??建ã??

	EPROTONOSUPPORT
		å??议类å??æ??æ??å®?ç??å??è®®ä¸?被å½?å??å??æ??æ?¯æ??ã??

	å?¶å®?ç??é??误å?¯è?½æ?¯ç?±å??议模å??产ç??ç??ã??

�容�
	4.4BSD, POSIX.1-2001.

	SOCK_NONBLOCK ä¸? SOCK_CLOEXEC æ ?å¿?æ?¯ Linux ç?¹æ??ç??ã??

	socket() å?ºç?°äº? 4.2BSD ã??é??常ï¼?é?? BSD ç³»ç»?ç?? BSD å¥?æ?¥å­?å±?å??é??æ?¯å?¯ç§»æ¤?ç??ï¼?å??æ?¬ System V ç??å??ç§?ï¼?ã??

注æ??
	POSIX.1-2001 并ä¸?è¦?æ±?å??å?« <sys/types.h> ï¼?è¿?个头æ??件å?¨ Linux ä¸?æ?¯ä¸?å¿?é¡»ç??ã?? å?¯æ?¯ä¸?äº?å??å?²ä¸?ç?? (BSD) å·¥å?·è¦?æ±?è¿?个头æ??件ï¼? å?¯ç§»æ¤?ç¨?åº?å¾?å?¯è?½å¸?æ??å??å?«å®?ã??

	4.x BSD ä¸?æ??æ?¾å?ºå®?ç??å??è®®ç»?æ?? PF_UNIX ï¼? PF_INET ï¼?ç­?ç­?ï¼?ä½?æ?¯ AF_UNIX ç­?ï¼?å®?们æ?¯ç?¨äº?å?°å??ç»?ç??ã??å?¯æ?¯ BSD ç?? man page ä¿?è¯?â?? å??è®®ç»?ä¸?è?¬ç­?äº?å?°å??ç»?â??ï¼?é??å??ç??æ ?å??å?¨æ¯?个å?°æ?¹é?½ä½¿ç?¨äº? AF_* ã??

	<sys/types.h> æ??件头å?ªå?¨ libc4 以å??æ?¯å¿?é¡»ç??ã?? ä¸?äº?å??ï¼? å¦? util-linux, claim ï¼?æ?¯ç?¨äº?å?¨æ??以 Linux ç??æ?¬å??åº?ä¸?å?¯ç§»æ¤?ç??ã??å®?们确å®?é??è¦?è¿?个头æ??件ã??

ä¾?å­?
	å?¨  getaddrinfo(3) 中æ??ä¸?个使ç?¨å¥?æ?¥å­?ç??ä¾?å­?ã??

å??è§?
       accept(2),  bind(2),  connect(2),  fcntl(2),  getpeername(2), getsockname(2), getsockopt(2), ioctl(2), lisâ??
       ten(2), read(2), recv(2), select(2), send(2), shutdown(2), socketpair(2), write(2), getprotoent(3),  ip(7),
       socket(7), tcp(7), udp(7), unix(7)

	â??An  Introductory  4.3BSD Interprocess Communication Tutorialâ?? å?¨ UNIX Programmer's Supplementary Documents Volume 1 中被é??å?°ã??
 	
	â??BSD Interprocess Communication Tutorialâ?? å?¨ UNIX Programmer's Supplementary Documents Volume 1 中被é??å?°













[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux