#基於udp協議通訊的套接字# 資料報協議
# 乙個recvfrom對應乙個sendto 一一對應 無粘包產生
# 服務端:
# import socket
# server=socket.socket(socket.af_inet,socket.sock_dgram)
# server.bind(("127.0.0.1",8080))
# while true:
# date,mag=server.recvfrom(1024)
# print(date)
# server.sendto(date.upper(),mag)
# server.close
## 客戶端
# import socket
# client=socket.socket(socket.af_inet,socket.sock_dgram)
# while true:
# res=input(">>").strip()
# client.sendto(res.encode("utf-8"),("127.0.0.1",8080))
# date,server_addr=client.recvfrom(1024)
# print(date)
# client.close()
##tcp協議的優缺點:(流式協議)
# 優點:傳輸資料可靠
# 缺點:傳輸效率慢
#udp協議的優缺點:(資料報協議)
# 優點:傳輸資料的效率高
# 缺點:資料容易丟失 可靠性低
# socketserver模組的使用
# 基於tcp協議通訊,僅更改服務端即可
# tcp協議併發的socketserver模板:
# import socketserver
# 自定義類用來處理通訊迴圈
# class mytcphanler(socketserver.baserequesthandler):
# def handle(self):
# while true:
# try:
# data=self.request.recv(1024)#request相當於建立連線
# if len(data)==0:break
# print("----->收到客戶訊息",data)
# self.request.send(data.upper())
# except connectionerror:
# break
# self.request.close()
# pass
# if __name__ == '__main__':
# server=socketserver.threadingtcpserver(("127.0.0.1",8080),mytcphanler)
# server.serve_forever() #連線迴圈
# 基於udp協議併發的socketserver模板:
# 服務端:
# import socketserver
# # 自定義類用來處理通訊迴圈
# class myudphanler(socketserver.baserequesthandler):
# def handle(self):
# data,sock=self.request
# sock.sendto(data.upper(),self.client_address)
# if __name__ == '__main__':
# server=socketserver.threadingudpserver(("127.0.0.1",8080),myudphanler)
# server.serve_forever() #連線迴圈
#什麼是程序
#程序的概念:起源於作業系統
#正在進行(執行)的程式
#程序是乙個包含程式執行所需的所有資源的單位
#在只有乙個cpu的情況下
#是因為有多道技術
#記憶體被分為多個區域 存放不同的應用程式
#當乙個應用程式遇到了i/o操作時 炒作系統會將cpu非陪給其他的應用程式使用
#切換的時間非常短 使用者是感覺不到的
#特點:
#乙個作業系統中可以同時存在多個程序
#內部使用了多道技術 可以快速的在不同的應用程式間切換 給使用者的感覺就像是在同時執行
#程序是乙個包含程式執行所需的所有資源的單位
TCP協議和UDP協議
前面我們學習了網路的7層模型,其中談到傳輸層的相關協議有tcp transmission control protocol 傳輸控制協議 和udp user datagram protocol 使用者資料報協議 一 tcp協議 tcp transmission control protocol 是一...
TCP協議和UDP協議
tcp transfer control protocol 是面向連線的,所謂面向連線,就是當計算機雙方通訊時必需經過先建立連線,然後傳送資料,最後拆除連線三個過程。tcp在建立連線時又分三步走 第一步,是請求端 客戶端 傳送乙個包含syn即同步 synchronize 標誌的tcp報文,syn同步...
TCP協議和UDP協議
區別 面向連線vs無連線 tcp建立乙個連線需要3次握手ip資料報,斷開連線需要4次握手。另外斷開連線時發起方可能進入time wait狀態長達數分鐘 視系統設定,windows一般為120秒 在此狀態下連線 埠 無法被釋放。udp不需要建立連線,可以直接發起。可靠vs不可靠 tcp利用握手 ack...