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 复制这段内容后打开百度网盘手 ...
随机推荐
- [bzoj1717][Milk Patterns 产奶的模式]
题目链接 思路 先求出后缀数组,并且求出LCP.二分一下长度len.check的时候就是看有没有连续的k个后缀的LCP大于len.也就是判断是不是有连续的k-1个height大于len. 代码 #in ...
- android studio adb.exe已停止工作(全面成功版 进程的查询和开启)
先输入adb看是否存在. 如果不存在则:在系统path里添加C:\Users\nubia\AppData\Local\Android\sdk\platform-tools 因为这个目录里有adb 或者 ...
- jenkins 构建
自动触发构建 远程构建 本地默认情况下是能够自动构建的,因为浏览器已经登录 了jenkins,如果从别的地方调用的话需要加上用户名和密码做认证,方法如下 curl -u a:a http://Jenk ...
- Http接口开发(自测服务端客户端)
一. Http与Https的区别 1.概念 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从www服务器传 ...
- java io系列05之 ObjectInputStream 和 ObjectOutputStream
本章,我们学习ObjectInputStream 和 ObjectOutputStream ObjectInputStream 和 ObjectOutputStream 介绍 ObjectInputS ...
- 开源实时消息推送系统 MPush
系统介绍 mpush,是一款开源的实时消息推送系统,采用java语言开发,服务端采用模块化设计,具有协议简洁,传输安全,接口流畅,实时高效,扩展性强,可配置化,部署方便,监控完善等特点.同时也是少有的 ...
- SqlServer中的事务使用
一.事务的概念和特点 事务(transaction)是恢复和并发控制的基本单位. 事务的特点 原子性:事务是一个工作单元,要都成功,要么的失败 例子:A付款给B,A余额-100,B余额+100,只能都 ...
- jsp页面的共用
我们经常希望一个网页,根据不同得请求显示不同得数据. 方法就是在session中添加一个变量,根据不同得值区分不同得请求类型. 后台:request.getSession().setAttribute ...
- HDU 1097(m次幂的个位数 规律)
题意是求 n^m 结果的最后一位数. 可以用快速幂取模的方法做,当然本题还有更简单的方法: 所有数字( 0 - 9 )的 m 次幂的个位数不会受进位的影响,只收到乘数的影响,所以在结果中一旦出现之前出 ...
- Photoshop影像匀色技术
本篇博文简单介绍一下利用PhotoShop对影像数据进行匀色的相关技术 影像一般有img和tif两种各种.一般的影像如果在PS中打开,会丢失坐标信息.在做匀色处理中,普通的做法是,先将坐标信息导出来, ...