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 复制这段内容后打开百度网盘手 ...
随机推荐
- 利用nginx进行集群部署
现在一般的服务器都是集群的情况了,所以准备搞集群部署下. nginx用的是第三方的openrestynginx.首先安装nginx,我的系统是UBuntu,安装方法也很简单,见官网. 自己采用了默认安 ...
- (转)基于http协议的api接口对于客户端的身份认证方式以及安全措施
由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的 jsessionid)来辨别客户端的身份的,当客户端进行登录服务器也会将登录信息存放在 ...
- 第十六节、特征描述符BRIEF(附源码)
我们已经知道SIFT算法采用128维的特征描述子,由于描述子用的是浮点数,所以它将会占用512字节的空间.类似的SUFR算法,一般采用64维的描述子,它将占用256字节的空间.如果一幅图像中有1000 ...
- C connect实现Timeout效果(Linux)
C connect函数是阻塞的,现要实现非阻塞式的connect. int SocketClient::connectTimeOut(const int &connect_fd, const ...
- node.js(node.js+mongoose小案例)_实现简单的注册登录退出
一.前言 通过node.js基本知识对node.js基本知识的一个简单应用 1.注册 2.登录 3.退出 二.基本内容 1.项目结构搭建如图所示 2.这个小案列中用到了art-template子模板以 ...
- go的net/rpc用法
一:PRC是什么? RPC(Remote Procedure Call) 远程过程调用,是一个计算通信协议.该协议允许一台计算机上的程序调用另外一台计算机上的程序.远程过程调用就是2个不在同一台计算机 ...
- LoRa网关/RAK831
Semtech SX1301 同时在不同的信道上接收数据 RAK831 能够在不同信道上同时接收多达 8 个同时发送不同扩频因子的 LoRa 数据 包
- python对象初始化
当python对象被创建以后,需要将对象进行初始化.Python有一个构造函数和一个初始化函数: 1.构造函数__new__,只接受一个参数,即类本身(它会在对象被构造之前调用,所以这里也就没有sel ...
- centos 7.4 安装gitlab
centos 7.4 安装gitlab #curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/scrip ...
- Python list 初始化技巧
1.一维列表 1.1 递增列表 # 初始化递增的list,与L = [i for i in range(10)] 效果相同 L = range(10) # 版本变化L = i for i in ran ...