IPv4套接字地址结构: 通常也被成为“网际套接字地址结构”,以sockaddr_in命名,定义在<netinet/in.h>头文件中。 IPv4地址和TCP或UDP端口号在套接字地址结构中总是以网络字节序(区别于主机字节序)来存储。 之所以网际地址(in_addr)是一个结构体,是因为以前这个结构 ...
分类:
其他好文 时间:
2016-04-26 19:15:10
阅读次数:
129
TCP回射并发服务器 1.创建套接字,绑定服务器的众所周知端口 创建一个TCP套接字,在待绑定到该TCP套接字的网际网套接字地址结构中填入通配地址(INADDR_ANY) 和服务器的众所知周(SERV_PORT,在头文件中unp.h中其定义为9877) 绑定通配地址是在告知系统: 要是系统是多宿主机 ...
分类:
其他好文 时间:
2016-04-04 18:02:10
阅读次数:
147
创建套接字,装填网际网套接字地址结构 创建一个TCP套接字,用服务器的IP地址和端口号装填一个网际网套接字地址结构 我们可从命令行参数取得服务器的IP地址 从头文件unp.h取得服务器的众所周知端口号(SERV_PORT) 连接到服务器 connect建立与服务器的连接 str_cli函数完成剩余部 ...
分类:
其他好文 时间:
2016-04-04 17:52:30
阅读次数:
164
TCP客户用connect函数来建立与TCP服务器的连接 int connect (int sockfd, const sockaddr * servaddr, socklen_t addrlen); sockfd是由socket函数返回的套接字描述符 servaddr指向套接字地址结构的指针 ad ...
分类:
其他好文 时间:
2016-04-03 14:30:40
阅读次数:
145
操作多字节字段的函数有2组 名字以b(表示字节)开头的 名字以mem(表示内存)开头的 它们既不对数据作解释,也不假设数据是以空字符结束的C字符串 当处理套接字地址结构时,我妈需要这些类型的函数,因为我妈需要操作诸如IP地址这样的字段,这些字段可能包含值位0的字节,却并不是C字符串。 以空字符结尾的 ...
分类:
其他好文 时间:
2016-04-02 20:13:14
阅读次数:
142
当往一个套接字函数传递一个套接字地址结构时,该结构总是以引用形式来传递,也就是说传递的是指向该结构的一个指针。 该结构的长度也作为一个参数来传递,不过其传递方式取决于该结构的传递方向:进程->内核 内核->进程 1)进程->内核 传递套接字地址结构的函数有3个:bind、connect、sendto ...
分类:
其他好文 时间:
2016-04-02 13:37:59
阅读次数:
175
作为IPv6套接字API的一部分而定义的新的套接字地址结构克服来现有struct sockaddr的一些缺点 不像struct sockaddr,新的struct sockaddr_storage足以容纳系统所支持的任何套接字地址结构 struct sockaddr_storage{ uni8_t ...
分类:
其他好文 时间:
2016-04-02 13:35:13
阅读次数:
131
IPv6套接字地址结构 struct in6_addr{ unit8_t sa_addr[16]; }; #define SIN6_LEN struct sockaddr_in6{ unit8_t sin6_len; sa_family_t sin6_family; in_port_t port; ...
分类:
其他好文 时间:
2016-04-02 13:33:44
阅读次数:
145
大多数套接字函数都需要一个指向套接字地址结构的指针作为参数。每个协议簇抵都定义它自己的套接字地址结构 这些结构的名字均以sockaddr_开头,并以对应每个协议簇的唯一后缀结尾 1.IPv4套接字地址结构 IPv4套接字地址结构通常称为:网际套接字地址结构 它以sockaddr_in命名 struc ...
分类:
其他好文 时间:
2016-04-01 23:31:15
阅读次数:
187
程序执行流程: 1.创建TCP套接字 listenfd = Socket(AF_INET, SOCK_STREAM, 0) 2.清空sockaddr_in servaddr结构体 bzero(&servaddr, sizeof(servaddr)) 3.填写网际套接字地址结构 我们指定IP地址为IN ...
分类:
其他好文 时间:
2016-04-01 21:49:55
阅读次数:
125