您的位置:首页 > 理论基础 > 计算机网络

笔记:python基础之网络编程基础

2019-02-12 20:45 302 查看

基于应用的网络程序:q 微信 飞秋 网游 微博 歪歪
基于浏览器的网络程序:百度 微博 知乎 博客园 网易

网络:server(s)服务器端<——>客户端client©

网络编程中的 - C/S架构

  • c→ client 客户端
  • s→ server 服务端

网络编程中的 - B/S架构

  • b→broser 浏览器
  • s→server 服务端
  • 不需要额外的安装客户端了,只需要一个网址就可以访问
  • 轻量级 - 使用成本低

B/S架构是C/S架构的一种特殊形式,如手机上 : 浏览器 app

两个py程序想要通信→写文件
在不同机器上的两个py程序之间想要通信→网络

网络的发展史
网卡\网口:两台机器之间 插上网线就可以通信。
网卡上 - 通过mac地址连接

ip地址:是为了更方便及其地址,但实际都要用mac地址来连接,IP地址通过arp协议找到Mac地址
1.是4个点分十进制 - ipv4协议

  • 范围:0.0.0.0 - 255.255.255.255
  • 127.0.0.1 本机127.0.0.1 本机
  • 内网字段 192.168.、10.、172.内网字段 192.168.、10.、172.

2.6个点分十进制 - ipv6协议:0.0.0.0.0.0 - 255.255.255.255.255.255

IP协议的作用:①为每一台计算机分配IP地址,②确定哪些地址在同一个子网络。

交换机:多台机器之间的通信问题,分为:广播、单播、组播。

arp协议 : 通过IP地址获取某一台机器的mac地址。

子网掩码:子网掩码 和 ip地址进行 按位与 运算 就能得出一个机器所在的网段。

  • 每网段范围:128 64 32 16 8 4 2
  • 192.168.21.36→11000000.10101000.00010101.00100100
  • 255.255.255.0 / 255.255.0.0
  • 11111111.11111111.11111111.00000000
  • 11000000.10101000.00010101.00000000
  • 192.168.21.0 网段

网关地址 : 整个局域网中的机器能沟通过网关ip与外界通信。

网段 : 子网掩码 和 ip地址进行 按位与 运算。

端口 : 找到服务器地址,再通过端口连接客户端(程序)。

  • 端口范围:0-65535,一般情况下用8000之后的端口
  • 8000-酷狗音乐 22-ssh 3306-mysql
  • ip地址+端口号 : 在全网找到唯一的一台机器+唯一的应用
  • 在同一时间只会有一个程序占用一个端口;
  • 不可能同意时间同一计算机有两个程序,占用同一个端口。

tcp协议:面向连接的协议,可靠安全,但占链接,速度慢。
全双工的通信协议:全双工的意思是双方都可以首发信息,这个全双工的通信将占用两个计算机之间的通信线路,直到它被一方或双方关闭为止。

  • 一旦连接建立起来,那么连接两端的机器能够随意互相通信
  • 面向连接的通信方式
  • 数据安全不容易丢失
  • 建立连接的 三次握手 ******
  • 断开连接的 四次挥手 ******

udp协议:不可靠,无连接,但速度快,不占连接。
当应用程序需要通过UDP与一个应用程序通信时,传输数据之前源端口和终端不建立链接。当它想传送时简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。

互联网协议
一台计算机:

socket:是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,在设计模式中,socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
写socket链接,一定要建两文件,server.py和client.py

import socket
sk=socket.socket()
sk.bind('IP',端口)#绑定端口在server上

停止链接的时候:先停client再停server
建立链接的时候:先建server再建client

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: