1. #include
int socket( int family, int type, int protocol );
返回: 非负描述字——成功,-1——出错
|
AF_INET |
AF_INET6 |
AF_LOCAL |
AF_ROUTE |
AF_KEY |
SOCK_STREAM |
TCP|SCTP |
TCP|SCTP |
Yes |
|
|
SOCK_DGRAM |
UDP |
UDP |
Yes |
|
|
SOCK_SEQPACKET |
SCTP |
SCTP |
Yes |
|
|
SOCK_RAW |
IPv4 |
IPv6 |
|
Yes |
Yes |
2. #include
int connect( int sockfd, const struct sockaddr *servaddr, socklen_t addrlen );
返回:0——成功, -1——出错
@sockfd: 有socket函数返回的套接口描述字
@servaddr:套接口地址结构的指针
@addrlen:指针大小
实现客户和服务器之间的链接,TCP的三次握手在该函数中完成。
3. #include
int bind( int sockfd, const struct sockaddr *myaddr, socklen_t addrlen );
返回: 0——成功, -1——出错
把本地协议地址赋予一个套接口。
4. #include
int litsen( int sockfd, int backlog );
返回: 0——成功, -1——出错
@backlog: 连接数因子,乘以1.5既是可处理的最大连接数
服务器可以处理的最大的连接数。当客户端跟服务器连接完成时,从未完成队列进入完成队列。
5. #include
int accept( int sockfd, struct sockaddr *cliaddr, socklen_t *addrlen );
返回: 非负描述字——成功, -1——出错
从已完成连接队列对头返回下一个已完成连接。
阅读(1249) | 评论(0) | 转发(0) |