python之路——30

学习内容

1.由于不同机器上的程序要通讯,产生网络
2.软件开发的架构
1.应用类
2.web类
3.C/S 架构
server 服务端
一直运行,等待服务客户
client 客户端
需要使用时,才使用服务
4.B/S 架构
server 服务器
browser 浏览器
方便统一入口
5.B/S架构和C/S架构的关系
B/S架构是C/S架构的一种
6.计算机网络的发展及基础
1.网卡上有全球唯一的mac地址
2.IP地址 0.0.0.0-255.255.255.255(ipv4)
ipv6 0.0.0.0.0.0-255.255.255.255.255.255
3.arp协议——通过IP地址找到对应的mac地址
4.交换机——解决多台机器的通信问题
1.广播——单播
2.广播风暴
3.网关——局域网中的机器想要访问局域网外的机器,通过网关访问
4.ip地址与子网掩码 按位与 = 得到网段地址
例子:
子网掩码:255.255.255.0
11111111.11111111.11111111.00000000
ip地址: 192.168.13.253
11000000.10101000.00001101.11111101
按位与=网段:192.168.13.0
11000000.10101000.00001101.00000000
7.ip协议作用
1.为每个计算机分配ip地址
2.确定哪些地址在同一个子网络
8.端口
1.计算机中,每一个需要网络通信的程序,都会开一个端口
2.同一时间,只会有一个程序占用一个端口
不可能在同一时间,有两个程序站用同一个端口
3.端口范围:0-65535,一般情况用8000之后的端口
9.ip+端口:找到唯一计算机上的唯一的一个程序
120.0.0.1 回环地址
10.TCP协议
1.全双工,双方都可以收发信息
2.三次握手——建立连接
数据传输——所有消息必须回复
长连接,可靠的
四次挥手——断开连接
打电话,常占用
11.UDP协议
不可靠的,无连接的
发短信
12.互联网协议
应用层 —— 传输层 —— 网络层 —— 数据链路层 —— 物理层
UDP/TCP协议 IP协议 MAC地址(arp协议) 网线网卡
13.socket
应用层与TCP/IP协议族通信的中间软件抽象层

14. int,float 应该先转str再转byte类型

代码区

1.话痨

# 话痨对话 server
'''
import socket
sk = socket.socket()
sk.bind(('127.0.0.1', 8080))
sk.listen()

conn, addr = sk.accept()
while 1:
    ret = conn.recv(1024).decode('utf-8')
    if ret == 'bye':
        conn.send(b'bye')
        break
    print(ret)
    info = input('>>> ')
    conn.send(bytes(info.encode('utf-8')))
    # ret = conn.recv(1024)
    # print(ret.decode('utf-8'))
    #
    # conn.send(b'Hi')
    # ret2 = conn.recv(1024)
    # print(ret2.decode('utf-8'))
    #
    # conn.send(bytes('油泼面加个蛋'.encode('utf-8')))
conn.close()
sk.close()

# 有收必有发,收发必相等
'''
# 话痨对话 client
'''
import socket
sk = socket.socket()
sk.connect(('127.0.0.1', 8080))
while 1:
    info = input('>>> ')
    sk.send(bytes(info.encode('utf-8')))
    ret = sk.recv(1024).decode('utf-8')
    print(ret)
    if ret == 'bye':
        sk.send(b'bye')
        break
    # sk.send(b'hello')
    # ret = sk.recv(1024)
    # print(ret.decode('utf-8'))
    # sk.send(bytes('中午吃什么'.encode('utf-8')))
    # ret2 = sk.recv(1024)
    # print(ret2.decode('utf-8'))
sk.close()
'''

2.时间

# 时间 server
'''
import socket
import time
sk = socket.socket()
sk.bind(('127.0.0.1', 8080))
sk.listen()
conn, addr = sk.accept()
while True:
    ret = conn.recv(1024).decode('utf-8')
    print(time.strftime("%Y-%m-%d %X",time.localtime(float(ret))))
    conn.send(bytes('copy that'.encode('utf-8')))
conn.close()
sk.close()
'''
# 时间 client
'''
import socket
from time import time,sleep
sk = socket.socket()
sk.connect(('127.0.0.1',8080))
while 1:
    t = str(time())
    sk.send(bytes(t.encode('utf-8')))
    ret = sk.recv(1024).decode('utf-8')
    if ret:
        print(ret)
        sleep(10)
sk.close()
'''

 

posted @ 2019-05-06 17:32  王二被占用  阅读(97)  评论(0)    收藏  举报