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 复制这段内容后打开百度网盘手 ...
随机推荐
- 【洛谷P2709】小B的询问
题目大意:给定一个长度为 N 的序列,M 个询问,静态查询区间 [l,r] 内的不同颜色数的平方和. 题解:直接莫队即可. 代码如下 #include <bits/stdc++.h> #d ...
- Flask filter过滤器
简单的数据集体添加样式输出用管道过滤,除了flask模块以外不需要导其他的包 <head> <meta charset="UTF-8"> <meta ...
- Java String与Stringbuffer
String 与其它类型的转换,e.g. BigInteger Stringbuffer 诸多函数,replace…… String 不能修改,Stringbuffer 可以修改, 应避免以下的操作: ...
- PHP中的数据结构:DS扩展
PHP7以上才能安装和使用该数据结构扩展,安装比较简单: 1. 运行命令 pecl install ds 2. 在php.ini中添加 extension=ds.so 3. 重启PHP或重载配置 在这 ...
- 第四节,Neural Networks and Deep Learning 一书小节(上)
最近花了半个多月把Mchiael Nielsen所写的Neural Networks and Deep Learning这本书看了一遍,受益匪浅. 该书英文原版地址地址:http://neuralne ...
- 彻底删除与安装MySQL
一.下载msi安装版:https://dev.mysql.com/downloads/mysql/ 二.安装前一定要彻底删除已有的MySQL:(从未安装过,忽略此步) 1.计算机处右键快捷菜单,管理, ...
- FFT笔记
蝴蝶操作和Rader排序 蝴蝶操作的定义: 雷德(Rader)算法 (Gold Rader bit reversal algorithm) 按自然顺序排列的二进制数,其下面一个数总是比其上面一个数大1 ...
- Luogu P2468 [SDOI2010]粟粟的书架
一道二合一的题目.两部分思维难度都不太高,但是也都很巧妙.尤其是主席树的\(50\)分,由于本人初学主席树,所以没有见过主席树上二分的套路,就被小小的卡了一下.. \(n <= 200\) \( ...
- (线性DP LIS)POJ2533 Longest Ordered Subsequence
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 66763 Acc ...
- SVN提交前准备
操作步骤1: 操作步骤2: 操作步骤3: 操作步骤4: 操作步骤5: 操作步骤6:查看 操作步骤7:ignore 操作步骤8:直接提交项目