一今日内容
# 函数 # 面向对象 # 进阶 # 网络编程 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()