py 6.4

 
# 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()
客户端
# 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架构的优势 统一了应用入口。


猜你喜欢

转载自www.cnblogs.com/liujjpeipei/p/9135352.html
6.4
py