网络编程架构简介

2023-10-27

软件开发架构


什么是软件开发架构

实际编写项目时,不会把所有代码都写在同一个项目文件中,在编写项目前,一般要先按照不同的功能分开写代码。像这样按照不同功能将代码写在不同的区域就是软件开发架构。

软件开发架构分类

1.c/s架构

c:client      客户端                用于客户使用服务端的软件功能,并发送数据到服务端
s:server    服务端                用于执行和分析客户端发送来的需求,并返回数据给客户端

我们下载来的软件打开都是客户端,可以在客户端软件内高度定制相关服务,但无法访问服务端的核心代码逻辑。

2.b/s架构

b:broswer     浏览器        用于客户在浏览器上使用网页功能,并发送数据到服务端
s:server        服务器        用于执行和分析浏览器发送来的需求,并返回数据给浏览器

浏览器可以充当各个服务端的简易客户端,用于想要体验服务不需要下载指定的客户端,但是比较复杂的功能使用客户端会比浏览器更加方便。

架构发展趋势


现在的架构通常是c/s和b/s一起使用,例如微信小程序就是在客户端中的网页,两者交错使用,避免各自的劣势。

网络编程


网络编程简介

网络编程就是基于互联网编写代码,用于计算机与互联网传递数据,网络编程的本质是为了解决计算机之间远程数据交互。

OSI七层协议

OSI协议的作用是规范所有计算机涉及数据传递时需要经过的流程,如果计算机缺少其中一个部分则无法完成网络数据传递。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络编程架构简介 的相关文章

随机推荐

  • Ngrok 服务搭建

    一 前言 ngrok 是一个反向代理 通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道 ngrok 可捕获和分析所有通道上的流量 便于后期分析和重放 ngrok一条命令可以解决外网访问内网问题 本地WEB外网访问 本地开发
  • Nginx的安装(Ubuntu)以及常用简介

    目录 Nginx安装 安装前提 源码下载 Nginx安装方式 简单说明nginx目录下的内容 Nginx编译和安装 启动 Nginx安装 安装前提 gcc pcre库 函数库 支持解析正则表达式 apt get install libpcr
  • 快速学习Stm32舵机控制板控制一个舵机运动

    PWM是什么 PWM 英文名Pulse Width Modulation 是脉冲宽度调制缩写 它是通过对一系列脉冲的宽度进行调制 等效出所需要的波形 包含形状以及幅值 对模拟信号电平进行数字编码 也就是说通过调节占空比的变化来调节信号 能量
  • 域名到站点的负载均衡技术一览

    一 问题域 nginx lvs keepalived f5 DNS轮询 往往讨论的是接入层的这样几个问题 1 可用性 任何一台机器挂了 服务受不受影响 2 扩展性 能否通过增加机器 扩充系统的性能 3 反向代理 负载均衡 请求是否均匀分摊到
  • QComboBox样式表 下拉框 QSS 样式表

    注意 QComboBox pComboBox new QComboBox this pComboBox gt setView new QListView 添加这句 设置下拉列表项高才能生效 未下拉时 QComboBox的样式 QComboB
  • Kubernetes下载kube-flannel失败解决方案 大数据

    Kubernetes下载kube flannel失败解决方案 大数据 Kubernetes是一个开源的容器编排平台 而kube flannel是Kubernetes集群中广泛使用的网络插件 用于提供容器之间的网络互通 然而 有时候在下载ku
  • Socket通讯工具类【SocketTools】(20140402修订版)

  • error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/

    error pulling image configuration Get https production cloudflare docker com registry v2 docker 原因 使用docker拉取镜像失败 解决方法 在
  • socket 网络通信 ( windows + Linux )

    参考 C socket 网络通信等 Socket 编程 socket起源于Unix 而Unix Linux基本哲学之一就是 一切皆文件 都可以用 打开open gt 读写write read gt 关闭close 模式来操作 Socket就
  • springboot 连接数据库失败取消自动重试,DruidDataSource取消自动重试

    默认是无限自动重试 导致程序卡死 那么如果我不想让它重试呢 方案1 application properties里面添加即可 spring datasource druid break after acquire failure true
  • java接口菱形继承

    其实菱形继承的副作用只是因为公共基类的成员变量 Java的接口可以做出类似菱形继承的结构 但因为公共基类 接口 中没有成员变量 所以没有二义性问题啦 当然也可以使用内部类 嵌套类 来实现类似多继承 不必担心会发生钻石危机 因为用内部类实现多
  • VScode自动生成项目结构树

    1 安装插件 project tree 2 使用 Shift Cmd p或者F1 输入 Project Tree 3 结果自动生成在README md文件中 exampleObject gitignore babel config js p
  • JavaWeb-16 JDBC编程进阶(自定义数据源+开源数据源:DBCP、C3P0)

    JavaWeb 16 JDBC编程进阶 自定义数据源 开源数据源 DBCP C3P0 一 调用存储过程 a 存储过程是什么 将一组SQL组合在一起 类似于java代码里面的函数 现实当中SQL命令不可能一条一条调用 目的为了打包存储调用 放
  • php 微信平台 无效的签名,微信公众平台, config:invalid signature一直爆这个错误,求教如何解决?...

    解决了 如果测试签名和自己生成的签名一致的话 那就是url的问题 可以通过js端生成url后用ajax或者get方式传到php端 具体为 function WeChat url title shareimg get U Api Test a
  • py将图片生成pdf

    usr local bin python3 coding utf 8 from PIL import Image import os def combine2Pdf folderPath pdfFilePath files os listd
  • 删除字符串中指定字符

    include
  • DP转HDMI后显示器无信号

    板DP接口是老式接口需要主动式DP转HDMI的转换器或者线 主板DP接口是老式接口需要主动式DP转HDMI的转换器或者线才行 新的DP 接口就没有这个问题 主动式DP转HDMI线就OK了
  • MabtisPlus书写模糊查询(Mysql)

    CONCAT关键字 拼接字符串 例 Select SELECT FROM classify WHERE itemName like CONCAT itemName public List
  • 统计难题

    链接 http acm hdu edu cn showproblem php pid 1251 Problem Description Ignatius最近遇到一个难题 老师交给他很多单词 只有小写字母组成 不会有重复的单词出现 现在老师要
  • 网络编程架构简介

    软件开发架构 什么是软件开发架构 实际编写项目时 不会把所有代码都写在同一个项目文件中 在编写项目前 一般要先按照不同的功能分开写代码 像这样按照不同功能将代码写在不同的区域就是软件开发架构 软件开发架构分类 1 c s架构 c clien