通信编程基础

本文详细阐述了客户端/服务器(CS)架构和基于浏览器(B/S)架构的区别,涉及网络通信中的IP地址、端口、TCP和UDP协议,并强调了Web开发技术在跨平台应用中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本通信架构

CS架构(Client客户端/Server服务端)

client客户端 ---------------- Server服务端

Client客户端:

  • 由程序员开发实现,客户端下载并且提供软件的运行(微信,qq,永结....)

  • 及时更新与服务端保持同步。

  • 客户端软件通常提供用户友好的界面,使得用户可以方便地与服务端进行交互。

  • 客户端软件可以在各种设备上运行,如个人电脑、手机、平板电脑等。

  • 客户端软件通常需要处理用户输入,并将其转换为服务端可以理解的请求。

Server服务端:

  • 由程序员开发实现。

  • 服务端通常运行在高性能的服务器上,处理来自各个客户端的请求。

  • 服务端负责处理业务逻辑,如数据处理、存储、检索等。

  • 服务端需要能够处理并发请求,即同时处理来自多个客户端的请求。

  • 服务端需要具有良好的安全性,防止数据泄露或被恶意攻击。

B/S架构(Browser浏览器/Server服务器)

client客户端 ---------------- Browser浏览器 ----------------Server服务端

Client客户端:

  • 网络连接和浏览器: 客户端主要需要提供网络连接功能,以便用户能够通过浏览器访问和使用应用程序。无需安装额外的应用程序,用户只需打开浏览器即可。

Browser浏览器:

  • 用于访问应用程序: 浏览器是客户端的主要界面,用户通过浏览器访问应用程序的网页界面。可以使用常见的浏览器,如Chrome、Firefox、Safari等,或者在移动设备上使用内置的浏览器。

Server服务端:

  • Web服务器: 服务端需要提供Web服务器,以便响应客户端浏览器的请求,并提供相应的网页内容和功能。常见的Web服务器包括Apache、Nginx等。

  • 应用程序后端: 服务端需要实现应用程序的后端逻辑,包括处理客户端请求、与数据库交互、业务逻辑处理等。可以使用各种后端技术和框架,如Node.js、Django、Spring Boot等。

  • 数据存储: 服务端需要使用数据库或其他持久化存储方式,存储用户数据、应用程序状态等信息。常见的数据库包括MySQL、PostgreSQL、MongoDB等。

  • 安全性和性能优化: 与传统客户端/服务器架构相似,服务端需要考虑安全性和性能优化,保护用户数据安全,提高系统的并发处理能力和性能稳定性。

基于浏览器的客户端和服务端开发通常采用Web开发技术,包括HTML、CSS、JavaScript等前端技术,以及各种后端技术和框架。通过Web开发,可以实现跨平台、跨设备的应用程序,并且用户无需安装任何额外的软件,只需打开浏览器即可使用。并且一定是当前最新的版本 .

网络通信三要素

ip地址
  • 每个主机的唯一标识符

  • ipv4:32位二进制,分四段 每段8位 点(.)分十进制

  • ipv6:128位二进制,分八段 每段16位 冒(:)分十六进制

  • 网页用的是域名,然后通过dns服务器来确定IP

  • 公网IP,私网ip,专用ip,保留ip,回送IP(本地回环地址 127.0.0.1)

  • 全0地址(通配符地址 0.0.0.0),广播地址(255.255.255.255),多播地址,APIPA

端口
  • 每个程序的唯一标识符

  • 当IP找到主机时,端口用于确定程序。从而实现程序的交流

  • 16位的二进制 (0 - 65535)

  • 专用/周知 端口(0 - 1023) 如 HTTP:80 FTP:21

  • 注册端口(1024 - 49151) ,分配给任务程序的。指定的

  • 动态端口(49152 - 65535),动态分配给任务程序,随机的。

协议

  • TCP(Transmission ControlProtocol)

    • 传输控制协议

    • 连接,可靠

  • UDP(User Dataaram Protocol)

    • 用户数据报协议

    • 无连接,不可靠。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值