2026/4/18 10:23:06
网站建设
项目流程
游览器大全,外贸seo培训,新增域名网站建设方案,推广方案应该有哪些方面一、服务器客户端模型CS#xff0c;client#xff0c;server 由功能强大的服务器为多个客户端提供集中服务BS#xff0c;browser#xff0c;server 使用标准化浏览器作为统一客户端来访问服务器上的应用P2P#xff0c;peer to peer 网络中的每个节点同时作为客户端和服务…一、服务器客户端模型CSclientserver 由功能强大的服务器为多个客户端提供集中服务BSbrowserserver 使用标准化浏览器作为统一客户端来访问服务器上的应用P2Ppeer to peer 网络中的每个节点同时作为客户端和服务端彼此直接共享资源与服务2.CS与BS的区别对比维度CSBS客户端类型专用客户端通用客户端使用协议应用层标准协议/自定义协议应用层HTTP/HTTPS协议功能强弱功能相对复杂可承载高交互、高性能业务功能相对简单侧重轻量化资源存储资源存储在本地客户端资源由服务器发送本地仅临时存储3.P2P在 P2P 网络下载工具中下载初期自身进度为 0%数据由其他客户端及服务器传输而来当下载进度达到 90% 时自身会向新接入的客户端上传已获取的数据整个过程中自身兼具下载者与上传者的双重身份既是客户端也是服务器。二、TCP传输控制的特征1.有链接 表现为三次握手。2.可靠传输。3.流式套接字数据没有边界。连续的有顺序的。4.全双工双缓存区。5.发送和接受次数不需要对应。6.有写阻塞 64k7.如果对方端口断开连接另一方端口可以感知 四次挥手三、三次握手与四次挥手三次握手1.客户端向服务器发送SYN 报文发起连接请求携带初始序列号。2. 服务器接收后回复SYNACK 报文确认客户端请求同时携带自身初始序列号。3. 客户端接收服务器的 SYN 报文后发送ACK 报文确认连接正式建立。四次挥手1.主动关闭方向被动关闭方发送FIN 报文关闭自身发送通道。2. 被动关闭方回复ACK 报文确认收到关闭请求。3. 被动关闭方数据发送完毕后向主动关闭方发送FIN 报文关闭自身发送通道。4. 主动关闭方回复ACK 报文确认等待超时后彻底断开连接。四、TCP相关函数1.int socket(int domain, int type, int protocol); 功能程序向内核提出创建一个基于内存的套接字描述符 返回值成功 返回申请的套接字id 失败 -12、int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen); 功能如果该函数在服务器端调用则表示将参数1相关的文件描述符文件与参数2 指定的接口地址关联用于从该接口接受数据3、 int listen(int sockfd, int backlog); 功能在参数1所在的套接字id上监听等待链接。 返回值成功 0 失败 -14.int accept(int sockfd, struct sockaddr *addr,socklen_t *addrlen); 功能从已经监听到的队列中取出有效的客户端链接并接入到当前程序。 返回值成功 返回一个用于通信的新套接字id 通信套接字 从该代码之后所有通信都基于该id 失败 -15.ssize_t recv(int sockfd, void *buf, size_t len, int flags); 功能从指定的sockfd套接字中以flags方式获取长度为len字节的数据到指定的buff内存中。 返回值成功 表示接受的数据长度一般小于等于len 失败 -1int send(int sockfd, const void *msg, size_t len, int flags); 功能从msg所在的内存中获取长度为len的数据以flags方式写入到sockfd对应的套接字中。 返回值成功 发送的字符长度 失败 -1客户端 自动连接服务器。 int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen); 功能该函数固定有客户端使用表示从当前主机向目标主机发起链接请求。 返回值成功 0 失败 -1