《Socket函数集》.pdf
文本预览下载声明
Linux Socket 函数集
目录
Bind 3
Connect 5
Endprotoent 8
Endservent 9
Getsockopt 10
Htonl 11
Htons 12
Inet_addr 13
Inet_aton 14
Inet_ntoa 15
Listen 16
Ntohl 20
Ntohs 21
Recv 22
Recvfrom 23
Recvmsg 26
Send 27
Sendmsg 28
Sendto 30
Setprotoent 33
Setservent 34
Setsockopt 35
Shutdown 36
Socket 37
HZC Reserved 1
Linux Socket 函数集
Accept
accept (接受socket 连线)
相关函 socket,bind ,listen,connect
数
表头文 #includesys/types.h
件 #includesys/socket.h
定义函 int accept(int s,struct sockaddr * addr,int * addrlen);
数
函数说 accept()用来接受参数s 的socket 连线。参数s 的socket 必需先经
明 bind() 、listen() 函数处理过,当有连线进来时accept()会返回一个新
的socket 处理代码,往后的数据传送与读取就是经由新的socket 处
理,而原来参数s 的socket 能继续使用accept()来接受新的连线要求。
连线成功时,参数addr 所指的结构会被系统填入远程主机的地址数
据,参数addrlen 为scokaddr 的结构长度。关于结构sockaddr 的定
义请参考bind() 。
返回值 成功则返回新的socket 处理代码,失败返回- 1,错误原因存于errno
中。
错误代 EBADF 参数s 非合法socket 处理代码。
码 EFAULT 参数addr 指针指向无法存取的内存空间。
ENOTSOCK 参数s 为一文件描述词,非socket 。
EOPNOTSUPP 指定的socket 并非SOCK_STREAM。
EPERM 防火墙拒绝此连线。
ENOBUFS 系统的缓冲内存不足。
ENOMEM 核心内存不足。
范例 参考listen() 。
HZC Reserved 2
Linux Socket 函数集
Bind
bind (对socket 定位)
相关函 socket,accept ,connect ,listen
数
表头文 #includesys/types.h
件 #includesys/socket.h
定义函 int bind(int sockfd,struct sockaddr * my_addr,int addrlen);
数
函数说 bind()用来设置给参数sockfd 的socket 一个名称。此名称由参数
明 my_addr 指向一sockaddr 结构,对于不同的socket domain 定义了一
个通用的数据结构。
struct sockaddr {
unsigned short int sa_family;
char sa_data[14];
};
sa_family 为调用socket ()时的domain 参数,即AF_xxxx 值。
显示全部