首页 > 编程语言 >网络编程

网络编程

时间:2022-11-15 19:03:32浏览次数:50  
标签:计算机 IP 编程 网络 PORT 服务端 客户端

网络编程

软件开发框架

软件开发框架可以看做是围墙,在围墙围起来的空间范围内对程序的功能进行了划分,规定程序各个功能模块之间运行的逻辑以及请求逻辑

在我们之前所编写的ATM与选课系统中,都使用了三层架构,三层架构也属于软件开发框架的一部分

常用软件开发架构

C/S架构

C即client,也就是我们常说的客户端
S即server,也就是我们都会用到的服务端
我们所使用的各个软件,也就是APP其实就是各个公司开发的客户端
通过这些客户端引导我们使用到服务端所提供的服务
优势:具有高度定制化的属性,可以根据开发公司的需求有不同的功能
劣势:只有在客户下载后才可以使用

一般情况下,客户端与服务端的交互需要使用到网络,但是如果客户端与服务端存储在同一台计算机上时就不需要了

B/S架构

B即Browser,就是我们日常使用的浏览器
S依旧是server,在这里指代服务器或服务端
浏览器可以作为所有服务端的客户端使用
所以B/S架构的本质仍是C/S架构
优势:用户的访问更加方便,无需下载
劣势:局限性很强,无法进行高度定制

服务端必备的三大要素

1.24小时全天候服务

2.固定的地址便于查找

3.可以同时为多个客户提供服务

之前的ATM与选课系统,我们所使用的第一层可以视为我们的客户端,第二层及第三层就是我们的服务端

软件设计的趋势走向会慢慢的向着统一接口发展,就像我们可以在微信与支付宝的小程序访问到其他软件的功能一样,接口逐步统一

网络编程引入

什么是网络编程?

基于网络编写代码,并利用接口实现数据远程交互

学习网络编程的目的是什么?

可以进行基于C/S或者B/S架构的程序代码编写

网络最早起源于美国的军事领域,是为了解决数据远程传递预处理的问题

网络编程必备条件

数据的远程交互(实现数据远程传递与处理)

数据的远程交互都是以必须的物理连接介质为基础的例如我们日常生活中的网线、电话线

OSI七层协议

OSI七层协议规定了所有计算机在进行远程数据交互时必须以相同流程处理数据来进行传递,相当于工厂中的流水线,在规定固定的加工流程的同时,要求必须使用同样规格的加工工具,也就是协议中所要求的计算机制造过程中必须拥有相同的功能硬件

应用层
表示层
会话层
传输层
网络层
数据链路层
物理连接层

可以采取只记忆首个文字的方式进行快速记忆

在我们现实中的使用过程中,常用到的是在七层的基础上整合出的五层或者四层

# 五层结构
应用层
传输层
网络层
数据链路层
物理连接层
# 四层结构
应用层
传输层
网络层
网络接口层

PS:接收网络消息的传递顺序是在这七层中自下而上传递

​ 发送网络消息时与接收相反,自上而下传递

OSI七层协议分层理解

物理连接层

主要用于确保计算机之间的物理连接介质,接收数据(bytes类型、二进制)

数据链路层

1.规定了电信号的分组方式
2.以太网协议
规定了计算机在出厂的时候都必须有一块网卡,网卡上有一串数字
该数字相当于是计算机的身份证号码是独一无二的
该数字的特征:12位16进制数据
前6位产商编号,后6位流水线号
该数字也称为:以太网地址/MAC地址

网络相关专业名称

计算机之间要想实现数据交互必须要'连接'到一起

1.交换机
能够将所有接入交换机的计算机彼此互联起来
2.广播
首次查找接入同一个交换机的其他计算机,需要向交换机传递一个所有计算机都可以接受到的信号
首次被查找的计算机回应查找它的计算机,并附带自己的mac地址
4.广播风暴
接入同一台交换机的多台计算机同时发广播
5.局域网
可以简单的理解为有单个交换机组成的网络
在局域网内可以直接使用mac地址通信
6.广域网
可以简单的理解为范围更大的局域网
7.互联网
由所有的局域网、广域网连接到一起形成的网络
8.路由器
不同的局域网计算机之间是无法直接实现数据交,互的需要路由器连接

网络层

IP协议:规定了所有接入互联网的计算机都必须有一个IP地址 类似于身份证号
mac地址是物理地址可以看成永远无法修改
IP地址是动态分配的,不同的场所IP是不同的
IP地址特征:
IPV4:点分十进制
0.0.0.0
255.255.255.255
IPV6:能够给地球上每一粒沙分一个IP地址
IP地址可以跨局域网传输
IP地址可以用来标识全世界独一无二的一台计算机

传输层

PORT协议(端口协议)
用来标识一台计算机上面的某一个应用程序
范围:0-65535
特征:动态分配(洗浴中心号码牌)
建议:
0-1024 系统默认需要使用
1024-8000 常见软件的端口号
8000之后的

URL:统一资源定位符(网址)
网址本质是有IP和PORT组成的

IP+PORT:能够定位全世界独一无二的一台计算机上面的某一个应用程序

域名解析:将网址解析成IP+PORT

我们使用网址的方式记忆是因为IP+PORT的记忆方式复杂繁琐,网址相对而言简单明了,便于记忆

IP:PORT 实际使用冒号连接
114.55.205.139:80

标签:计算机,IP,编程,网络,PORT,服务端,客户端
From: https://www.cnblogs.com/lf17603472426/p/16893525.html

相关文章

  • 计算机网络基础与网络编程基础
    目录计算机网络基础软件开发架构架构总结:架构发展趋势网络编程前戏OSI七层协议osi七层协议:规定了所有计算机在远程数据交互的时候必须警告相同的处理流程、在制造过程中必......
  • 网络编程,osi七层协议
    软件开发架构规定了程序的请求逻辑,功能分开分为两种:1.C/S架构 客户端(Client)类似于我们下载的app,给客户提供软件体验,可以理解成要去消费的客户服务端......
  • 网络编程
    网络编程软件开发架构1.C/S架构C:Client客户端S:Server服务端客户端指代的是手机端的APP和电脑上的各种软件,我们可以通过这些软件来进行各种各样的操......
  • 网络编程:软件开发架构、架构总结、网络编程前戏、OSI七层协议简介、OSI七层协议之物
    目录软件开发架构架构总结网络编程前戏OSI七层协议简介OSI七层协议之物理连接层OSI七层协议之数据链路层网络相关专业名词OSI七层协议之网络层OSI七层协议之传输层软件开......
  • 软件工程实验二—电梯编程
    #include<stdio.h>#include<windows.h>typedefstructelevator{ intstaus;//三种状态:静止,上行,下行 inttype;//三种类型:双,单,全 intfloor;//此时停在的楼层数 intbeixuy......
  • 网络模型
    ·TCP/IP四层网络模型:应用层、传输层、网络层、物理链路层  ·TCP/IP五层网络模型:应用层、传输层、网络层、数据链路层、物理层发送时从上往下层层打包,接收时从下往......
  • AI 编程实践
    自治的可移动游戏智能体SteeringBehaviors(操纵行为)这些方法都返回执行该行为需要的力(实际是返回单位质量物体1s内修正速度需要的加速度,根据F=m(v1-v0)/t,这个返回值也......
  • matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类|附代码数据
    全文下载链接:http://tecdat.cn/?p=19751本示例说明如何使用长短期记忆(LSTM)网络对序列数据进行分类。要训练深度神经网络对序列数据进行分类,可以使用LSTM网络。LSTM网络使......
  • 网络编程
    软件开发架构1.c/s架构 client:客户端server:服务端"""就是我们使用计算机下载下来的一个个app本质互联网公司的客户端软件通过这些客户端软件我们就......
  • 网络编程
    目录一.软件开发架构1.C/S架构2.B/S架构二.架构总结三.网络编程前戏1.什么是网络编程2.学习网络编程的目的3.网络编程的起源4.网络编程必备条件四.OSI七层协议1.引入:2.七......