软件设计师考试复习指导:socket简要

软件设计师考试复习指导:socket简要,第1张

软件设计师考试复习指导:socket简要,第2张

内容简介:

套接字结构

struct sockaddr_in
{
short int sin_family; //地址类型 AF_XXX(AF_UNIX,AF_INET和AF_NS)
unsigned short int sin_port; //16位端口号
struct in_addr sin_addr; //32位IP地址
char sin_zero[8]; //保留
} //端口号以及 Internet 地址使用的是网络字节顺序,需要通过函数 htons 转换

主机结构

struct hostent
{ char *h_name ; //主机的正式名称
char * *h_aliases ; //别名列表
int h_addrtype ; //主机地址类型:AF_XXX
lnt H_length; //主机地址长度:4 字节(32 位)
char * *h_addr_list;//主机 IP 地址列表
}

函数库

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

函数 socket 创建一个套接字描述符,如果失败返回 -1.domain为地址类型AF_XXX,type为套接字类型,SOCK_STREAM(TCP),SOCK_DGRAM (UDP),SOCK_RAW(IP、ICMP);protocol 指定协议 0为默认模式 。

2. int bind(int sockfd,struct sockaddr *hostaddr,int addrlen);

函数bind将本地地址与套接字绑定在一起,成功返回0,失败为-1,并设置全局变量errno为错误类型
EADDRINUSER。

3. int connect( int sockfd,struct sockaddr *servaddr, int addrlen);

函数connect与服务器建立一个连接,成功返回 0,失败返回- 1。servaddr 为远程服务器的套接字地址,包括服务器的 IP 地址和端口号;addrlen 为地址的长度。

4. int accept(int sockfd,struct sockaddr *addr,int *addrlen)

函数accept从listen的完成连接队列中接收一个连接,如果连接队列为空,则该进程睡眠。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 软件设计师考试复习指导:socket简要

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情