返回顶部
首页 > 资讯 > 后端开发 > Python >初识网络编程
  • 638
分享到

初识网络编程

网络编程 2023-01-31 00:01:46 638人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

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

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协议):




--结束END--

本文标题: 初识网络编程

本文链接: https://lsjlt.com/news/182131.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 初识网络编程
    c/s b/s 架构client 客户端/server 服务端browser 浏览器/server 服务端现在多数都是客户端与服务端之间进行交互,获取信息但像微信小程序,支付宝等一些应用都开始发展小程序功能,通过微信就可直接在内部调用其他...
    99+
    2023-01-31
    网络编程
  • 初始网络编程
    专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现...
    99+
    2023-09-13
    网络协议 网络编程
  • 网络编程知识-socket
    一、 C/S 架构:Client/Server   客户端/ 服务端   B/S 架构:Browser/Server  前端/ 服务端       网卡--> mac地址-->ip地址-->子网掩码-->网关--...
    99+
    2023-01-31
    网络编程 知识 socket
  • 【网络编程】网络编程 和 Socket 套接字认识
    ✨个人主页:bit me👇 ✨当前专栏:Java EE初阶👇 目 录 🎧一. 网络编程基础🎺1. 为什么需要网络编程?🎷2....
    99+
    2023-08-23
    网络 服务器 java
  • 网络通信 & 初识socket
    本节主要内容: 1.客户短\服务端架构 2.网络通信的流程 3.初识socket   一.客户端\服务端架构 客户端\服务端架构: 即Client/Server (C/S) 结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Clie...
    99+
    2023-01-30
    网络通信 socket
  • 新手初学Java网络编程
    目录运行线程回调同步方法同步块死锁优先级暂停可以对IO阻塞可以对同步对象阻塞可以放弃可以休眠可以连接另一个线程可以等待一个对象可以结束可以被更高优先级线程抢占总结运行线程 创建Thr...
    99+
    2024-04-02
  • 网络编程(JavaEE初阶系列10)
    目录 前言: 1.网络编程的基础 1.1为什么需要网络编程 1.2什么是网络编程 1.3网络编程中的基本概念 1.3.1发送端和接收端 1.3.2请求和响应 1.3.3客户端和服务端 2.Socket套接字 2.1概念 2.2分类 3.U...
    99+
    2023-09-07
    网络
  • gui编程 -- tkinter初识
    Tkinter 编程Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macint...
    99+
    2023-01-30
    gui tkinter
  • Python网络编程之ZeroMQ知识总结
    一、ZeroMQ概述  ZeroMQ(又名ØMQ,MQ,或zmq)像一个可嵌入的网络库,但其作用就像一个并发框架。 ZeroMQ类似于标准Berkeley套接字,其提供了各种...
    99+
    2022-06-02
    Python ZeroMQ知识总结 python网络编程 Python ZeroMQ
  • 浅谈java网络编程基础知识
    这篇文章主要浅谈java网络编程基础知识,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。网络基础知识1、OSI分层模型和TCP/IP分层模型的对应关系这里对于7层模型不展开来讲,只选择跟这次系列...
    99+
    2023-05-30
    java ava
  • 第33天 初识socket编程
    目录   1. OSI七层模型简介   2. 网络编程简介   3. socket编程简介   4. 使用socket进行网络编程   5. 基于tcp的socket编程   6. TCP粘包问题   7. 基于udp的socket编程 ...
    99+
    2023-01-30
    socket
  • 网络编程
    1. 网络编程入门 1.1 网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 网络编程...
    99+
    2023-08-30
    网络 Java
  • Java网络编程 - 网络编程介绍 - 网络通信三要素
    文章目录 网络编程网络编程介绍网络通信三要素要素一: IP地址IP地址基本介绍IP地址的操作类 要素二: 端口号要素三: 协议TCP协议UDP协议 网络编程 网络...
    99+
    2023-09-07
    网络 java 网络协议
  • python的网络编程基础知识有哪些
    这篇“python的网络编程基础知识有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python的网络编程基础知识有哪些...
    99+
    2023-06-26
  • Go语言网络编程知识点有哪些
    这篇文章主要介绍“Go语言网络编程知识点有哪些”,在日常操作中,相信很多人在Go语言网络编程知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言网络编程知识点有哪些”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-25
  • python网络编程-socket编程
    一、服务端和客户端 BS架构 (腾讯通软件:server+client) CS架构 (web网站)   C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发   二、OSI七层模型 互联网协议按照功能不同分为...
    99+
    2023-01-31
    网络编程 python socket
  • Android网络编程
    Android网络编程目录小朋友你是不是有很多问号???一、网页源码查看器二、消息机制的写法(重点)1、相关概念2、Handler的使用3、消息...
    99+
    2022-06-06
    Android
  • 网络编程(全)
    【网络编程】 今日内容 软件架构CS/BS网络通信三要素TCP通信Socket套接字ServerSocket文件上传自定义服务器 第一章 网络编程入门 1.1软件结构 C/S结构 :全称为Client...
    99+
    2023-09-06
    网络 tcp/ip 服务器
  • Java 网络编程
    Java 网络编程   目录 Java 网络编程   Socket 编程 ServerSocket 类的方法 Socket 类的方法   InetAddress 类的方法 Socket 客户端实例 Socket 服务端实例     网络编...
    99+
    2023-10-09
    java
  • Python 网络编程
    Python 网络编程 Python 提供了两个级别访问的网络服务: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统 Socket 接口的全部方法。 高级别的网络服务模块 S...
    99+
    2023-08-31
    网络 服务器 运维
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作