python中TCP與UDP的不同點(diǎn)分析
(推薦操作系統(tǒng):windows7系統(tǒng)、Python3.9.1、DELLG3電腦。)
1、不同點(diǎn)
面向連接(確認(rèn)有創(chuàng)建三方交握,連接已創(chuàng)建才作傳輸。)
有序數(shù)據(jù)傳輸
重發(fā)丟失的數(shù)據(jù)包
舍棄重復(fù)的數(shù)據(jù)包
無差錯(cuò)的數(shù)據(jù)傳輸
阻塞/流量控制
2、實(shí)例
TCP服務(wù)器。
#創(chuàng)建socket
tcp_server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#本地信息
address=('',7788)
#綁定
tcp_server_socket.bind(address)
#使用socket創(chuàng)建的套接字默認(rèn)的屬性是主動(dòng)的,使用listen將其變?yōu)楸粍?dòng)的,這樣就可以接收別人的鏈接了
tcp_server_socket.listen(128)
#如果有新的客戶端來鏈接服務(wù)器,那么就產(chǎn)生一個(gè)新的套接字專門為這個(gè)客戶端服務(wù)
#client_socket用來為這個(gè)客戶端服務(wù)tcp_server_socket就可以省下來專門等待其他新客戶端的鏈接
client_socket,clientAddr=tcp_server_socket.accept()
#接收對(duì)方發(fā)送過來的數(shù)據(jù)
recv_data=client_socket.recv(1024)#接收1024個(gè)字節(jié)
print('接收到的數(shù)據(jù)為:',recv_data.decode('gbk'))
#發(fā)送一些數(shù)據(jù)到客戶端
client_socket.send("thankyou!".encode('gbk'))
#關(guān)閉為這個(gè)客戶端服務(wù)的套接字,只要關(guān)閉了,就意味著為不能再為這個(gè)客戶端服務(wù)了,如果還需要服務(wù),只能再次重新連接
client_socket.close()
以上就是python中TCP與UDP的不同點(diǎn)分析,希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。