day34 Pyhton 网络编程
一今日内容
# 函数
# 面向对象
# 进阶
# 网络编程 4
# 并发编程 6-7
# 概念
# 网络基础
# 局域网的概念
# 交换机和路由器的工作流程
# ip地址
# mac地址
# 子网掩码
# 网关ip
# osi网络7层模型
# arp协议
# tcp协议/udp协议
# 介绍socket
# 最基本的socket通信
# 两台机器之间的通信 : 网络
# 网络开发的架构 :
# C/S
# client
# server
# 例子 : 百度\爱奇艺app\淘宝app\天猫\京东\迅雷\qq\微信
# B/S
# browser 浏览器(chrom,火狐,360,sogou,IE)
# server
# 所有的B/S架构也是C/S架构的
# B/S架构更好
# 浏览器解放了你电脑上的图标
# web编程 都是B/S架构的 # 两台机器之间的通信
# 网卡 - mac地址 - 物理地址 # 如果是多台机器之间通信?
# 交换机
# 11010198808082288(人) -- mac地址(机器)
# 不能用一个mac地址来找寻全中国的机器 # 每台机器在网络中除了有一个mac地址生效
# 还有一个ip地址,虚拟地址,是一个随着时间/空间变化而改变的
# ipv4 0.0.0.0 - 255.255.255.255
# ipv6 0.0.0.0.0.0 - 255.255.255.255.255.255
# 127.0.0.1
# 0.0.0.0 # 交换机的工作方式
# 单播\广播\组播
# arp协议 : 通过ip找mac
# 交换机-->广播 将要找的机器的信息发给局域网内的所有机器
# 交换机-->单播 返回要找机器的那台机器 # 公网ip : 无论你在哪儿都可以使用的ip
# 0.0.0.0 - 255.255.255.255 全球的所有ip地址的集合
# 152.168.0.1 - 对应着一个固定的服务
# 内网ip : 校园网 公司的员工网
# 保留字段 专门给内网使用的,公网ip永远不会占用内网ip的地址
# 192.168.0.1 - 192.168.255.255
# 172.168.0.1 - 172.168.255.255
# 10.0.0.1 - 10.255.255.255
# ip协议 :
# ipv4 : 4位点分十进制
# ipv6 : 6位:分十六进制
# arp协议 : 通过ip找mac
# 交换机的工作机制 :只认识mac地址,广播\单播\组播
# 路由器的工作机制 :路由表,认识ip地址
# 什么是网关ip
# 什么是子网掩码
# 自己的ip地址 # 两台机器联系在一起了
# 很多和网络相关的应用 : 发给我的qq\微信\飞秋
# 端口 0-65535 # 通过某一个端口定位到机器上的某一个应用
# 每一台机器有很多个端口 0-65535
# 8000以后
# 3306 mysql数据库
# 8080 端口
# 22 端口 操作系统ssh命令 # 传递信息的方式
# TCP协议 打电话 : 可靠的\面向连接的\慢
# UDP协议 发短信 : 不可靠的\无连接的\快 # 计算机 : 五层
# 应用层 :
# socket :承包了下面四层复杂的数据包的封装
# 传输层 : tcp/udp 端口 四层路由器 四层交换机
# 网络层 : ip地址 三层路由器 三层交换机
# 数据链路层 : mac arp协议 二层交换机 网卡
# 物理层 # 二层交换机 :
# 数据链路层
# 物理层 # 三层路由器 :
# 网络层
# 数据链路层
# 物理层
sever
import socket
sk=socket.socket()
sk.bind(('192.168.11.225',11000))
sk.listen() conn,addr = sk.accept()
conn.send('喂'.encode('utf-8'))
print('--->',addr)
msg = conn.recv(1024)
print(msg.decode('utf-8'))
conn.close()
sk.close()
client
import socket sk =socket.socket()
sk.connect(('192.168.11.225',11000)) msg = sk.recv(1024)
print(msg.decode('utf-8'))
sk.send('你好'.encode('utf-8'))
sk.close()
day34 Pyhton 网络编程的更多相关文章
- day36 Pyhton 网络编程03
一.内容回顾 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...
- day37 Pyhton 网络编程04
# tcp协议和udp协议的选择问题 # tcp # 大量的连续的数据 传递文件\发送邮件 # 文件的传递 # 下载电影 # udp # 短消息类 社交软件 # qq 微信 # 在线播放视频 快会丢帧 ...
- day35 Pyhton 网络编程02
一内容回顾 网络基础 网络应用开发架构 B/S架构 浏览器直接作为客户端的程序 C/S架构 B/S是特殊的C/S osi七层模型 应用层 python代码 http https ftp ...
- Python网络编程:Linux epoll
原文地址:http://scotdoyle.com/python-epoll-howto.html 介绍 Python已于2.6版本添加访问Linux epoll库的API.这篇教程使用Python ...
- 猫哥网络编程系列:HTTP PEM 万能调试法
注:本文内容较长且细节较多,建议先收藏再阅读,原文将在 Github 上维护与更新. 在 HTTP 接口开发与调试过程中,我们经常遇到以下类似的问题: 为什么本地环境接口可以调用成功,但放到手机上就跑 ...
- python select网络编程详细介绍
刚看了反应堆模式的原理,特意复习了socket编程,本文主要介绍python的基本socket使用和select使用,主要用于了解socket通信过程 一.socket模块 socket - Low- ...
- Linux Socket 网络编程
Linux下的网络编程指的是socket套接字编程,入门比较简单.在学校里学过一些皮毛,平时就是自学玩,没有见识过真正的socket编程大程序,比较遗憾.总感觉每次看的时候都有收获,但是每次看完了之后 ...
- 猫哥网络编程系列:详解 BAT 面试题
从产品上线前的接口开发和调试,到上线后的 bug 定位.性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期.不论你是前后端的开发岗位,还是 SQA.运维等其他技术岗位,掌握网络编程知识均是岗位的 ...
- 浅谈C#网络编程(一)
阅读目录: 基础 Socket编程 多线程并发 阻塞式同步IO 基础 在现今软件开发中,网络编程是非常重要的一部分,本文简要介绍下网络编程的概念和实践. Socket是一种网络编程接口,它是对传输层T ...
随机推荐
- 【python】itchat登录微信获取好友签名并生成词云
在知乎上看到一篇关于如何使用itchat统计微信好友男女比例并使用plt生成柱状图以及获取微信好友签名并生成词云的文章https://zhuanlan.zhihu.com/p/36361397,感觉挺 ...
- 吴恩达《深度学习》-课后测验-第二门课 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)-Week 1 - Practical aspects of deep learning(第一周测验 - 深度学习的实践)
Week 1 Quiz - Practical aspects of deep learning(第一周测验 - 深度学习的实践) \1. If you have 10,000,000 example ...
- 如何把自己开发的项目上传到GitHub仓库或者码云仓库?
首先你需要用你的邮箱去注册一个自己的GitHub仓库 or 码云仓库.然后确保你的电脑安装了git. 码云仓库:https://gitee.com/ GitHub:https://github.com ...
- Vue中vue.config的配置
vue-cli 3.x 脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动在根目录中创建 vue.config.js. vue.config.js 是一个可选的配置文件,如果 ...
- node进阶| 解决表单enctype="multipart/form-data" 时获取不到Input值的问题
今天在学习node踩到一个坑:form设置enctype="multipart/form-data"上传文件时,无法获取到表单其他input的值. 因为之前上传文件用的是 form ...
- 使用GO实现Paxos分布式一致性协议
什么是Paxos分布式一致性协议 最初的服务往往都是通过单体架构对外提供的,即单Server-单Database模式.随着业务的不断扩展,用户和请求数都在不断上升,如何应对大量的请求就成了每个服务都需 ...
- python程序控制--分支结构
单分支结构 单分支结构猜数字 二分支结构 多分支结构 注意多条件之间的包含关系 注意变量取值范围的覆盖 条件判断及组合 程序的异常处理 输入一个整数,进行乘方操作, 但是,如果用户没有输入整数的时 ...
- 深入理解java虚拟机--垃圾收集器
对象的销毁 对象的finalize方法只会执行一次,在finalize里可以自救不被销毁,二次被主动gc,必定会销毁 类销毁
- 【转】Postgres SQL sort 操作性能调优
这篇文章将以实战的方式结合笔者在项目中真实遇到的情况来讲解.说到SQL,大家可能会遇到一些写法稍微复杂的写法.比如SQL中遇到的有聚合函数sum等,也有遇到使用group by / order by的 ...
- JVM学习(六)JVM常见知识问答
文章更新时间:2020/04/21 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java虚拟机是一个可以执行Java字节码的虚拟机进程. Java源文 ...