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

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

开发者学堂课程【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

相关文章
|
敏捷开发 安全 测试技术
软件开发的要点有哪些?
软件开发过程包括需求分析、设计、编码、测试、上线与维护五大阶段。每个阶段需注重团队合作、文档编写、安全性和性能优化。建议采用敏捷开发、CI/CD、建立用户反馈机制及持续培训,以确保开发高效、产品质量高且能快速响应市场变化。
|
1天前
|
数据采集 人工智能 自然语言处理
3分钟采集134篇AI文章!深度解析如何通过云无影AgentBay实现25倍并发 + LlamaIndex智能推荐
结合阿里云无影 AgentBay 云端并发采集与 LlamaIndex 智能分析,3分钟高效抓取134篇 AI Agent 文章,实现 AI 推荐、智能问答与知识沉淀,打造从数据获取到价值提炼的完整闭环。
277 90
|
9天前
|
机器人 API 调度
基于 DMS Dify+Notebook+Airflow 实现 Agent 的一站式开发
本文提出“DMS Dify + Notebook + Airflow”三位一体架构,解决 Dify 在代码执行与定时调度上的局限。通过 Notebook 扩展 Python 环境,Airflow实现任务调度,构建可扩展、可运维的企业级智能 Agent 系统,提升大模型应用的工程化能力。
|
人工智能 前端开发 API
前端接入通义千问(Qwen)API:5 分钟实现你的 AI 问答助手
本文介绍如何在5分钟内通过前端接入通义千问(Qwen)API,快速打造一个AI问答助手。涵盖API配置、界面设计、流式响应、历史管理、错误重试等核心功能,并提供安全与性能优化建议,助你轻松集成智能对话能力到前端应用中。
715 154
|
15天前
|
人工智能 数据可视化 Java
Spring AI Alibaba、Dify、LangGraph 与 LangChain 综合对比分析报告
本报告对比Spring AI Alibaba、Dify、LangGraph与LangChain四大AI开发框架,涵盖架构、性能、生态及适用场景。数据截至2025年10月,基于公开资料分析,实际发展可能随技术演进调整。
963 152
|
2天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~