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 复制这段内容后打开百度网盘手 ...
随机推荐
- struts2 contextMap
一.contextMap中的数据操作 root根:List 元素1 元素2 元素3 元素4 元素5 contextMap:Map key value application Map key value ...
- JDBC动态查询MySQL中的表(按条件筛选)
动态查询实现按条件筛选.PreparedStatement 准备语句指定要查询的表头列,.setString()通过赋值指定行,.executeQuery()执行语句 在数据库test里先创建表sch ...
- MySQL创建方法错误:This function has none of DETERMINISTIC, NO SQL
创建function时 出错信息: ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL ...
- (JAVA对进制的运算)A + B Again hdu2057 要复习
(置顶,复习)A + B Again 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2057 Time Limit: 1000/1000 MS (Java/ ...
- opencv: 基本知识(二);
1.Mat与IplImage之间的相互转换: //IplImage—>Mat //EXAMPLE: //浅拷贝: IplImage* pBinary=cvLoadImage("c:// ...
- 【3D动画建模设计工具】Maxon Cinema 4D Studio for Mac 20.0
图标 Icon 软件介绍 Description Maxon Cinema 4D Studio R20 ,是由德国公司Maxon Computer一款适用于macOS系统的3D动画建模设计工具,是 ...
- Mysql数据约束 整理
数据约束 1.默认值: 作用: 当用户对使用默认值的字段不插入值的时候,就使用默认值. 注意: 1)对默认值字段插入null是可以的. 2)对默认值字段可以插入非null CREATE TABLE ...
- zookeeper 介绍与集群安装
zookeeper 介绍 ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization). ...
- Elastic Stack之kibana使用
Elastic Stack之kibana使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客数据流走向:FileBeat ===>Redis ===>log ...
- Centos 7最小化安装部署PostgreSQL
安装 sh-4.2# yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-ce ...