欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python网络编程

程序员文章站 2022-07-24 13:48:07
Python网络编程 什么是C/S架构、 计算机基础 socket介绍 C/S架构 C指的就是Client(客户端软件),S指的是Server(服务端软件) ,本章的重点就是教大家写一个C/S架构的软件,实现服务软件与客户端软件基于网络通信。 计算机基础 作为一名应用开发程序员,我们开发的都是应用软 ......

Python网络编程

  • 什么是C/S架构、
  • 计算机基础
  • socket介绍

C/S架构

C指的就是Client(客户端软件),S指的是Server(服务端软件),本章的重点就是教大家写一个C/S架构的软件,实现服务软件与客户端软件基于网络通信。

计算机基础

作为一名应用开发程序员,我们开发的都是应用软件,而应用软件必须运行在操作系统之上,操作系统则运行在一堆硬件之上,应用软件是无法直接操作硬件的,应用程序对硬件的操作必须调用操作系统的接口,由操作系统操控硬件。

如客户端软件想要基于网络发送一条消息给服务端软件,流程是(https://www.processon.com/diagraming/5b0f5d79e4b068c2520a6497)

1.客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送/拷贝给操作系统的内存中

2.客户端操作系统收到数据后,按照客户端软件指定的规则(协议),调用网卡硬件设备发送数据

3.网络传输数据

4.服务端软件调用系统接口,想要将数据从操作系统拷贝到自己的内存里

5.服务端操作系统收到指令后,使用与客户端相同的规则(协议)从网卡接收到数据,然后拷贝到服务端软件的内存中

socket介绍

引子

我们已经知道,假设我要写一个程序,给另一台计算机发送数据,必须通过TCP/IP协议,但是具体的实现过程是什么呢?我应该怎么操作才能把数据封装成TCP/IP的包呢?又执行什么指令才能把数据发送到对端机器上呢?此时,socket隆重登场,简而言之,socket这个东西就是干这个事情的,就是帮你把TCP/IP协议层的各种数据封装、数据发送、接受等通过代码已经给你封装好了,你只需要调用几行代码,就可以给别的机器发消息了。

socket介绍

什么是socket?

socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在socket接口后面,对用户来说,一组简单的接口就是全部。

socket抽象层(https://www.processon.com/diagraming/5b0f6b9de4b02e4b26ec3521)