客户端和服务器的通信程序|学习笔记

简介: 快速学习客户端和服务器的通信程序

开发者学堂课程【TCP/IP 网络基础:客户端和服务器的通信程序】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/791


客户端和服务器的通信程序

一、TCP协议流程图

二、TCP服务器端流程

三、TCP客户端流程

四、UDP服务器端流程

五、UDP客户端流程

一、TCP协议流程图

左边是服务器端,右边是客户端。

客户端流程

注册socket,然后运用bind函数,再调用listen函数,然后调用accept函数接收客户端的一个访问请求,成功后调用recv/recvfrom,活或者send/sendto函数来进行一个数据的通信或者收发,最后用close函数去关闭socket链接。

第一部注册一个socket,可以用bind函数,也可以取消,再调用connect函数去请求服务器的连接,调用send/sendto或者recv/recvfrom去进行数据收发,最后调用close函数去关闭。

这就是数据交换收发的流程。

image.pngimage.jpeg

二、TCP服务器端流程

客户端流程

注册socket,然后运用bind函数,再调用listen函数,然后调用accept函数接收客户端的一个访问请求,成功后调用recv/recvfrom,活或者send/sendto函数来进行一个数据的通信或者收发,最后用close函数去关闭socket链接。

image.pngimage.jpeg

注意循环箭头。

三、TCP客户端流程

第一部注册一个socket,可以用bind函数,也可以取消,再调用connect函数去请求服务器的连接,调用send/sendto或者recv/recvfrom去进行数据收发,最后调用close函数去关闭。

这是数据交换收发的流程。

image.pngimage.jpeg

四、UDP服务器端流程

在数据收发之后,可以调用close函数把他关闭,这里可以进行循环使用,这个简洁一点。

image.pngimage.jpeg

五、UDP客户端流程

bind函数可选

image.pngimage.jpeg

相关文章
|
弹性计算 运维 安全
一文读懂云上大规模资源管理的最佳实践
阿里云弹性计算团队十三位产品专家和技术专家共同分享云上运维深度实践,详细阐述如何利用CloudOps工具实现运维提效、弹性降本。
132449 5
一文读懂云上大规模资源管理的最佳实践
|
测试技术
软件测试中的QPS和TPS解析:以秒杀系统为例
软件测试中的QPS和TPS解析:以秒杀系统为例
791 0
软件测试中的QPS和TPS解析:以秒杀系统为例
|
测试技术 开发工具
软件开发过程中常见风险和应对策略
软件开发过程中常见风险和应对策略
785 1
|
数据采集 人工智能 移动开发
盘点人工智能在医疗诊断领域的应用
人工智能在医疗诊断领域的应用广泛,包括医学影像诊断、疾病预测与风险评估、病理诊断、药物研发、医疗机器人、远程医疗诊断和智能辅助诊断系统等。这些应用提高了诊断的准确性和效率,改善了患者的治疗效果和生活质量。然而,数据质量和安全性、AI系统的透明度等问题仍需关注和解决。
1518 10
|
存储 对象存储
radosgw高可用对象存储网关实战指南
关于radosgw高可用对象存储网关的实战指南,涵盖了从基本概念到具体操作案例,再到架构设计和使用技巧的全面介绍。
409 6
|
Linux 开发者 iOS开发
|
人工智能 安全 API
门禁系统的人脸识别功能是如何实现的
在人工智能不断发展的今天,很多事情都迈向了智能化,以我们的门禁为例,经过了物理钥匙、门卡、密码、指纹迭代,已经进入了人脸识别的时代。人脸识别门禁机也已经在小区、医院、学校、写字楼、工厂等场所普及开来。只需一两秒的识别,门禁系统就会根据比对结果进行操作,特别是在疫情期间,人脸识别门禁系统以其非接触的优点,在保障大家工作生活方面发挥了不小的作用。
1121 0
门禁系统的人脸识别功能是如何实现的
|
Linux 网络安全 数据库
收集站点信息:第三方网站查询(附链接)
收集站点信息:第三方网站查询(附链接)
|
安全 数据安全/隐私保护
手把手教你在Server2012上修改域账户密码
在Server2012中修改域账户密码可通过命令行或管理工具实现。使用命令行时,打开CMD,输入"domain username"替换为账户名,按提示设置新密码。通过管理工具修改则需打开“计算机管理”,找到相应账户,右键设置密码。注意确保权限、密码复杂性和通知相关人员新密码。了解此技能能提升网络管理员的工作效率。
|
人工智能 自然语言处理 前端开发
探索AI时代的应用工程化架构演进,一人公司时代还有多远?
当代AI来势汹汹,本文从AI的特点、对研发的挑战、AI的应用工程和场景分化等剖析了AI时代的应用工程化架构演进之路。
21469 6