- 4
- 0
- 约1.4万字
- 约 18页
- 2018-09-02 发布于湖北
- 举报
说明:本人为西工大计算机学院本科生,这些内容均为本人总结,考试后证明内容还算全面,整理时间为2012.6
一、Socket 定义、参数
Socket是通信双方之间的纽带,Socket可绑定网络应用程序、建立一次连接,并对连接进行唯一标识。Socket提供了一个通信接口,应用程序在网络上发送、接收的信息都通过这个接口来实现。Socket和文件句柄一样,是操作系统的资源。
SOCKET socket (
int af, //地址族
int type, //套接字类型
int protocol //特定的协议
);
二、Winsock常用函数、辅助函数
Windows Sockets的初始化和终止WSAStartup() ,WSACleanup()
创建和释放套接字函数socket(),closesocket()
绑定套接字和地址结构bind(),listen(),accept(),connect() ,sockaddr ,sockaddr_in ,in_addr
发送、接收数据send()、sendto(),recv()、recvfrom()
错误处理函数WSAGetLastError()
其他辅助函数htons(),htonl(),ntohs(),ntohl(); ,inet_addr(),inet_ntoa(),gethostbyname(),gethostbyaddr(),getservbyname()
三、数据结构(维护哪些数据)
1、WSADATA结构用来保存WSAStartup()返回的初始化信息
struct WSAData {
WORD wVersion;
WORD wHighVersion;
char szDescription[WSADESCRIPTION_LEN+1];
char szSystemStatus[WSASYSSTATUS_LEN+1];
unsigned short iMaxSockets;
unsigned short iMaxUdpDg;
char *lpVendorInfo;
};
2、sockaddr结构体表示通用的Winsock地址结构,针对各种通信域的套接字,存储它们的地址信息
struct sockaddr {
u_short sa_family;// 地址族:与socket()的第一个参数相同含义
char sa_data[14];// 协议地址,内容因具体协议而不同
};
3、sockaddr_in结构体指定Internet通信域的地址结构
struct sockaddr_in {
short sin_family;// 必须为AF_INET
u_short sin_port;// 端口
struct in_addr sin_addr;// IP地址
char sin_zero[8];
};
四、基于TCP协议的Socket编程模型
五、C/S端基本思路
服务器程序需执行:
初始化套接字接口,调用套接字动态链接库。
创建套接字并将其与本机网络地址结构绑定。
让程序处于监听状态,监听客户机的连接请求。
若有连接请求,则处理并建立连接;若未有连接请求,则阻塞并等待连接请求。
接收或发送数据。
关闭套接字。
注销套接字接口,释放套接字动态链接库所占用资源。
客户机程序需执行:
初始化套接字接口,调用套接字动态链接库。
创建套接字。
向服务器发送连接请求。
接收或发送数据。
关闭套接字。
注销套接字接口,释放套接字动态链接库所占用资源。
六、基于UDP协议的Socket编程模型(两种)
模型(一)的特点:
应用程序双份是对等的。使用数据报套接字通信时都经过6个阶段:
双方必须确切地知道对方的网络地址,且将约定好的自己的网络地址绑定到自己的套接字上。
每次发送或接收数据报时,所使用的sendto()和recvfrom()中要包括对方的网络地址信息。
recvfrom()在没有收到数据前,默认情况下会阻塞,程序不向下执行。
模型(二)的特点:
1、应用程序双份是不对等的。服务器要先行启动,处于被动的等待访问状态;客户机则可随时主动请求访问服务器。
完成一次通信时服务器要经过6个阶段:而客户机不需要绑定套接字。
服务器将套接字绑定到周知的端口或指定的端口,且客户机必须确切地知道服务器端套接字使用的网络地址。
客户机套接字使用动态分配的自由端口,不需要进行绑定。服务器事先不必知道客户机套接字使用的网络地址。
客户机必须先发送数据报,服务器收到后才能知道客户机的地址,才能给客户机回送数据报。
七、多线程,阻塞,非阻塞模式优缺点
1、阻塞模式:
优点:1、I/O操作工作情况确定,包括调用、等待和返回三个阶
您可能关注的文档
最近下载
- 小学生作文评讲课件.pptx VIP
- 教育部《中小学生信息素养提升手册(2024年新版)》全文 .pdf VIP
- 知识点 4.3 209系列转向架(一)(二)课件讲解.pptx VIP
- 抹茶生产工艺介绍-第二步:蒸青和烘干(碾茶的制作).doc VIP
- 流产手术后促进子宫内膜修复临床实践指南(2025年版).pptx VIP
- 一株新型水稻纹枯病病菌的鉴定及病菌效应蛋白的功能研究.pdf
- 209T转向架组装作业指导书.pdf VIP
- AI:新一轮科技革命改变世界——新时代的底层逻辑系列之三.pdf VIP
- 《教育从爱开始》读书分享.pptx VIP
- 使用消化酶类药物治疗消化不良的专家共识意见.pptx
原创力文档

文档评论(0)