文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

初识网络编程

2023-01-31 00:35

关注
c/s b/s 架构
client 客户端/server 服务端
browser 浏览器/server 服务端

现在多数都是客户端与服务端之间进行交互,获取信息
但像微信小程序,支付宝等一些应用都开始发展小程序功能,通过微信就可直接在内部调用其他程序,也就是b/s架构
本质:b/s架构也是c/s架构

服务端是24小时都在等待客户端发送请求,然后进行处理
客户端是随时,想发送请求就发送请求,想断开就断开


不同的国家之间有不同的语言,所以我们制定了一个规定,规定一门语言为通用语言。
计算机之间的进行交流也有协议

OSI 七层协议

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

 


目前我们需要掌握的只有五层:应用层 传输层 网络层 数据链路层 物理连接层

物理连接层:实现计算机之间的物理连接,计算之间都是用010101这样的二级制进行传输数据
电信号的工作原理就是高低电频

 


数据链路层:这层需要遵循 以太网协议
以太网协议:
1、规定了二进制的分组方式
2、规定只要接入互联网的计算机都必须有一块网卡
网卡出厂时都有唯一的编号,成为mac编号,由12位十六进制的数表示。
前六位是厂商编号,后六位是流水线编号,保证了mac地址的唯一性
以上这两项规定就是以太网协议

基于以太网协议通讯基本靠吼~
一个计算机在网络中给另外一台发消息,另外一台接收到消息后恢复一个消息回去。
但是在发送消息是他不会一下发到所要找的机器,而是发送给所有的计算机,只有匹配结果的那台,才会回复
如果有很多台电脑这样同时发送消息,就会造成广播风暴。

补充:一台电脑和另外一台通信,他们之间需要建立连接,如果很多台电脑之间进行通讯,那就需要进行很多的连接,
所以有了一个叫 交换机 的,可以实现一台电脑只需要有一个网卡连接计算机。

网络层:(IP协议)
规定一台计算机只能有一个IP地址
ip地址特点:点分十进制
有ipv4和ipv6两个版本
最小:0.0.0.0 最大:255.255.255.255
IP地址可以跨局域网传输
IP能够唯一标识互联网中独一无二的一台机器


传输层(端口协议)
TCP,UDP基于端口工作的协议!
其实计算机之间通信其实是计算机上面的应用程序于应用之间的通信
端口(port):唯一标识一台计算机上某一个基于网络通信的应用程序
端口范围: 0~65535(动态分配)
注意:0~1024通常是归操作系统分配的端口号
通常情况下,我们写的软件端口号建议起在8000之后
flask框架默认端口5000
django框架默认端口8000
mysql数据库默认端口3306
redis数据库默认端口6379
注意: 一台计算机上同一时间一个端口号只能被一个应用程序占用

小总结:
IP地址:唯一标识全世界接入互联网的独一无二的机器
port端口号: 唯一标识一台计算机上的某一个应用程序
ip + port: 能够唯一标识全世界上独一无二的一台计算机上的某一个应用程序

补充:arp协议: 根据ip地址解析mac地址



TCP协议(流式协议,可靠协议)

基于tcp传输数据的两个特点:
  一、tcp成为流式协议,顾名思义,这种方式传数据想水流一样源源不断,我们在接收数据是规定了接收数据的长度,
  接收的长度一旦大于我们规定接收的,就会接收我们能接受的最大长度,剩下的会在下次执行时在传输过来。

  二、如果两次传输数据的间隔短,长度短,那么会自动合并成一条消息传送。

  所以有了新的问题 粘包(点击查看粘包问题的解决方案)


三次握手四次挥手

三次握手建连接:
TCP协议下服务端和客户端之间通过三次握手建立双向连接。
一、客户端向服务端发送连接请求
二、服务端回复同意请求的同时向客户端发送连接请求
三、客户端回复同意请求

四次挥手断连接
一、客户端向服务端发送断开连接请求
二、服务端回复请求,并检查是否还有为发送完的数据
三、服务端请求和客户端断开连接
四、客户端回复

星轨:明星出轨
用来表示网站能承受的明星出轨所带来的巨大流量

 

 

UDP协议(数据报协议)
   无需建立双向连接,并且传输数据不可靠,可能会出现丢包的情况
   通信速度比较快,但是发送的数据不会在内存中保留!
  qq用的就是udp协议

 

应用层(HTTP协议,FTP协议):




阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯