py 6.4
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# import socket # sk = socket.socket() # sk.connect(('127.0.0.1',8091)) # sk.send(b'hahheebbeb') # while 1: # msg_s = input('>>>') # sk.send(msg_s.encode('utf-8')) # if msg_s == 'q': # break # # msg = sk.recv(1024).decode('utf-8') # print(msg) # if msg == 'q': # break # # sk.close() # import socket # # sk = socket.socket() #与服务端一样。 # # sk.connect(('127.0.0.1',8091)) #与服务器建立连接,ip地址和端口要一致。 # sk.send(b'hello') #发送内容,要求必须是bytes类型。 # while 1: # msg_s = input('>>>') # sk.send(msg_s.encode('utf-8')) # if msg_s == 'q': # break # # msg_r = sk.recv(1024).decode('utf-8') # print(msg_r) # if msg_r == 'q': # break # # sk.close()
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# import socket # # sk = socket.socket() # sk.bind(('192.168.12.67',8092)) # sk.listen(5) # fd,addr = sk.accept() # # print(fd.recv(1024)) # while 1: # msg = fd.recv(1024).decode('utf-8') # print(msg) # if msg == 'q': # break # # msg_s = input('>>>') # fd.send(msg_s.encode('utf-8')) # if msg_s == 'q': # break # # fd.close() # sk.close() import socket sk = socket.socket()#套接字。实例化一个socket对象,其中type默认= SOCK_STREAM,默认TCP协议。 sk.bind(('127.0.0.1',8091))#开启服务。 127.0.0.1 本机默认地址。字符。 8091:自定义的端口。数字。 sk.listen(10) #监听。括号中的数字代表接入的数量。 fh , addr = sk.accept() #得到一个文件操作符和连入客户端的地址。 # msg = fh.recv(1024) #1024代表能接收的字节数。 # print(msg) # while 1: # msg_r = fh.recv(1024).decode('utf-8') # print(msg_r) # if msg_r == 'q': # break # # msg_s = input('请输入').strip() # fh.send(msg_s.encode('utf-8')) # if msg_s == 'q': # break # # fh.close() # sk.close()
#架构:
#1.C/S架构:client 客户端 server 服务端
#2.B/S架构; browser 浏览器 server 服务端
#B/S架构优点: 统一应用的入口。
#arp协议
#两台电脑互相发送消息:一根网线
#几十台电脑:
#交换机的通信方式:
# 广播:一台电脑发出信号(ip地址、mac地址、内容),通过交换机发出信号(吼一声),
# 其它不是此ip地址的电脑为不理会状态。
#单播:是此ip地址的电脑则通过发送过来的mac地址固定的返回给原电脑信息。
#组播:朝某一部分或某一组主机发送。
#mac地址(也叫物理地址)是全世界唯一的,网卡上的,厂商生产的。
#查看方法:ipconfig -all
#ip地址:四段点分十进制
# 网段:ip地址 &(与) 子网掩码:二进制计算
# ip地址192.168.12.67 192=128+64 : 11000000 168=128+32+8:10101000 12=8+4:00001100
# 67=64+2+1: 01000011
# 11000000 10101000 00001100 01000011
#子网掩码255.255.255.0 11111111 11111111 11111111 00000000
# 11000000 10101000 00001100 00000000 网段:192.168.12.0
#更多台电脑:
#广域网+路由器+代理ip
#tcp协议:安全可靠、面向连接(确认两边已经连接后再传输)、字节流。 用于传送文件。
#客户端与服务端的连接:三次握手。 客户端发送连接请求,服务器返回请求许可及连接请求,客户端返回许可。
#客户端与服务端的断开:四次挥手。客户端发送断开请求,服务器答复,服务器确认答复,客户端返回答复。
#udp协议:快。 一般用于平时聊天。
#唯一确定某一个电脑的某一个程序:ip+port(端口)。 端口号是唯一的,范围(0-65535),开发人员:8000-
#五层模型:
#应用层(Py文件)- 传输层(msg+ip+port+tcp/udp)- 网络层(ip协议) - 数据链路层(arp、网卡) - 物理层
#面试题:
# 真实的:
# 1、你知道哪些研发相关的架构? c/s b/s
# 2、arp协议做了什么事情?
# 3、交换机的通讯方式? 广播、单播、组播
# 4、你认为tcp和udp的区别? tcp安全面向连接字节流。 udp快。
# 5、请描述出osi五层模型? 应用层传输层网络层数据链路层物理层。
#
# 我出的:
# 1、网段ip怎么确定?ip地址 & 子网掩码
# 2、请描述B/S架构的优势 统一了应用入口。