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 ...
随机推荐
- CentOS如何设置IP连接网络
1.登录系统,进入:cd /etc/sysconfig/network-scripts 目录下,如下图: 找到 ifcfg-ens33(文件) 第二步:使用vi编辑器打开ifcfg-ens33文件,使 ...
- PHP相关的书签内容
ThinkPHP函数详解 session方法 --ThinkPHP 开源PHP框架 ThinkPHP实现支付宝接口功能 - /折磨 - 博客园 php几个常用的概率算法(抽奖.广告首选) - 懒人技术 ...
- [LeetCode]面试题62. 圆圈中最后剩下的数字(数学)
题目 0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0开始每次删除第3 ...
- 并发编程中死锁、递归锁、进程/线程池、协程TCP服务器并发等知识点
1.死锁 定义; 类似两个人分别被囚禁在两间房子里,A手上拿着的是B囚禁房间的钥匙,而B拿着A的钥匙,两个人都没法出去,没法给对方开锁,进而造成死锁现象.具体例子代码如下: # -*-coding:u ...
- Vue axios封装 实现请求响应拦截
封装 axios.js import axios from 'axios' import { baseURL } from '@/config' class HttpRequest { constru ...
- rabbitmq的安装&学习
主要按照 https://www.cnblogs.com/web424/p/6761153.html https://www.cnblogs.com/qiyebao/p/4822583.html 学习 ...
- Module build failed: TypeError: this.getResolve is not a function at Object.loader 使用vue-cli 创建项目 使用sass时报错 -- 等其他sass 报错 ./node_modules/css-loader?{"sourceMap":true}!./node_modules/vue-loader/lib
已经安装了 sass相关依赖包 npm install sass-loader --save-devnpm install node-sass --sava-dev 并且在build文件下webpa ...
- Laravel Model查询结果的3种存储格式内存占用对比
PHP Laravel框架支持Model查询数据后可以有多种方式返回数据,对新手会造成一些困扰,比如数组Model对象.集合.纯数组 今天从内存占用的角度对比一下3种数据返回方式 按数组Model对象 ...
- Vue+Java+Base64实现条码解析
前端部分(Vue + Vant) 引入Vant.使用Vant中的Uploader组件上传文件(支持手机拍照) import Vue from 'vue'; import { Uploader } fr ...
- Java Web学习(一)Web基础
文章更新时间:2020/07/24 一.基本概念 web资源 Internet上供外界访问的Web资源分为两种: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. 动态w ...