1. 程式人生 > >py 6.4

py 6.4

close 四次揮手 ipc col 必須 建立 img play accept



技術分享圖片

# 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架構的優勢 統一了應用入口。


py 6.4