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 ...
随机推荐
- JAVA实现汉字转拼音
两个工具包都可以实现:pinyin4j/JPinyin pinyin4j 第一个是使用pinyin4j的jar,此jar对多音字语句的处理不太理想 package edu.ws; import net ...
- 基于arm v8搭建区块链环境
服务器信息: cpu:华为鲲鹏 cpu架构:arm v8 系统:CenOS-AltArch 7.6 相关工具安装 yum更新 yum update 安装vim/gcc/git/curl工具软件 yum ...
- 用C、python手写redis客户端,兼容redis集群 (-MOVED和-ASK),快速搭建redis集群
想没想过,自己写一个redis客户端,是不是很难呢? 其实,并不是特别难. 首先,要知道redis服务端用的通信协议,建议直接去官网看,博客啥的其实也是从官网摘抄的,或者从其他博客抄的(忽略). 协议 ...
- 2020云栖大会智慧出行专场:聚焦高精地图/算法、智能模型、自动驾驶、AR导航
2020云栖大会将于9月17日-18日在线举行,届时将通过官网为全球科技人带来前沿科技.技术产品.产业应用等领域的系列重要分享. 阿里巴巴高德地图携手合作伙伴精心筹备了“智慧出行”专场.我们将为大 ...
- 2020重新出发,JAVA高级,JVM
JVM的基本概念 JVM是可运行java代码的假想计算机,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收,堆和一个存储方法域.JVM是运行在操作系统之上的,它与硬件没有直接的交互. [外链图片 ...
- Python远程连接Redis
import redisr=redis.Redis(host='192.168.56.102',port=6379,db=0,password='jinxfredis' )r.set('name',' ...
- Git使用教程与基本原理和Sourcetree基本使用探微
什么是GIT Git是一个强调速度的分布式版本控制软件和源代码管理系统(SCM,source code management).Git最初是由Linus Torvalds为内核开发而设计的管理软件.自 ...
- 实用js方法DataUrl转为File、url转base64
声明:仅为方便自己所需,也希望能方便他人,如有侵权,联系删除. 1,DataUrl转为File /** * DataUrl转为File * @param {String} dataUrl - data ...
- 云计算openstack——维护(15)
- Java编程风格
来自<The Elements of Java Style>-<Java编程风格>一书,值得一读的书籍,会让你在细节上节省很多时间,合作之间更加愉快! 好处不多说了,但是有几个 ...