python网络编程初识
一,什么是计算机网络: 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和 [1] 信息传递的计算机系统。
二 通信流程, 客户端主机编译文件>>>>二进制文件>>> 主机程序通信端口>>>.客户端网卡>>>客户端网卡到二层交换设备传输介质>>> 提交给二层交换设备>>>
三层路由设备>>>(ISP网络 )>>>服务器端三层设备>>> 服务器端二层设备>>>传输介质>>> 服务器网卡>>>服务器对应程序端口 >>>二进制转换>>> 程序处理
三. 简单网络常用通信: 电脑主机, 网线/WiFi信号/光纤/同轴电缆等等 , 二层交换机, 路由器, (网关), isp接入设备(modem)
四 , 关键词
MAC: 网卡标识地址 (物理地址), 网卡与网卡直接通信识别id
ip: 主机 通信的地址, 识别主机,
subnet mask : 子网掩码, 计算网络号, 区分网段, 同网段中的主机可以不经过网关转发直接通信
gateway: 网关, 网络转发地址, 网络与网络直接通信的必经之处
port : 端口 应用程序标识, ()同程序)?数据出入端口
isp: 网络运营商,电信, 铁通,网通, 移动, 联通等等
五 socket : 套接字:
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
1, 创建通信对象:
import socket
server/client =socket.sockey()
2, 创建ip地址和端口port , 须是元组, 可以结构
ip_port = ('192.168.1.15', 8888)
3. 配置服务ip,端口绑定
server.bind(ip_port)
4, 创建服务端口监听进程
server.listen()
5, 创建接受客户端标识(返回元组,1 客户端通信标识对象, 2 ip+ 端口 )
conn, addr = server.accept()
6, 客户端连接主机
server_ ip_port("192.168.1.15", 8888)
client.connect(server_ip_port)
公用方法:
server/client.recv() #接受二进制文件
server/client.send("str"转换成二进制 ) # 发送数据
python网络编程初识的更多相关文章
- Python之路 - 网络编程初识
Python之路 - 网络编程初识 前言
- Python web编程 初识TCP UDP
Python网络编程之初识TCP,UDP 这篇文章是读了<Python核心编程>第三版(Core Python Applications)的第二章网络编程后的自我总结. 如果有不到位或者错 ...
- Python 网络编程(二)
Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...
- Python 网络编程(一)
Python 网络编程 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. ...
- Python学习(22)python网络编程
Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...
- Day07 - Python 网络编程 Socket
1. Python 网络编程 Python 提供了两个级别访问网络服务: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口 ...
- python网络编程-01
python网络编程 1.socket模块介绍 ①在网络编程中的一个基本组件就是套接字(socket),socket是两个程序之间的“信息通道”. ②套接字包括两个部分:服务器套接字.客户机套接字 ③ ...
- 《Python网络编程》学习笔记--使用谷歌地理编码API获取一个JSON文档
Foundations of Python Network Programing,Third Edition <python网络编程>,本书中的代码可在Github上搜索fopnp下载 本 ...
- Python网络编程基础pdf
Python网络编程基础(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VGwGtMSZbE0bSZe-MBl6qA 提取码:mert 复制这段内容后打开百度网盘手 ...
随机推荐
- postman 抓包工具charles的使用
1.直接打开charles,然后,如果有https的话,需要安装证书,然后,设置代理 2.如果不是https的,不需要设置代理,直接抓取就可以 先安装证书: 然后设置代理: ...
- Unity 着色器
Unity中定义了很多种Shader类型,同样的Shader类型我们可以自定义,需要用到ShaderLab着色语言. 一个3D图形是怎样显示在我们的视觉? 3D数据文件-----3D显示程序----- ...
- Luogu P4551 最长异或路径
题目链接 \(Click\) \(Here\) \(01Trie\)好题裸题. 取节点\(1\)为根节点,向下扫每一个点从根节点到它路径上的异或和,我们可以得到一个\(sumx[u]\). 现在路径异 ...
- C# WebApi过滤器(开发接口必备利器)
在WEB Api中,引入了面向切面编程(AOP)的思想,在某些特定的位置可以插入特定的Filter进行过程拦截处理.引入了这一机制可以更好地践行DRY(Don’t Repeat Yourself)思想 ...
- 关于MyBase 7.0 破解的方法
Mybase 是一个功能强劲且可随心所欲自定义格式及层次关系的通用资料管理软件, 可用于管理各种各样的信息,如一:各类文档.文件.资料.名片.事件.日记.项目.笔记.下载的精华.收集的各种资料等等,即 ...
- springboot学习之maven多环境打包的几种方式
在应用部署的时候,往往遇到需要发布到不同环境的情况,而每个环境的数据库信息.密钥信息等可能会存在差异. 1.在默认的application.properties或者yaml中设置profile spr ...
- Intellij Idea识别Java Web项目
使用maven生成一个Java项目,手动添加相应的web目录WEB_INF,web.xml等,此时idea没有自动识别为web项目,此时编辑web.xml文件会出现一些不该出现的错误,需要做的就是让i ...
- linux优化之系统参数调优篇
linux优化之系统参数调优篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.用户限制配置文件(首先需要编辑/etc/security/limits.conf文件) 大家可以 ...
- go build 和 go run区别
- Cubase独占声卡问题
打开Cubase之后,这个软件会独占声卡,其他软件都没有声音了.只需要设置一下即可.设备>设备设置,在VST音频处勾选释放后台驱动即可,如图