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()

猜你喜欢

转载自www.cnblogs.com/pythonz/p/10055905.html