日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python網絡編程socket實現服務端、客戶端操作詳解

瀏覽:205日期:2022-08-01 14:30:33

本文實例講述了python網絡編程socket實現服務端、客戶端操作。分享給大家供大家參考,具體如下:

本文內容: socket介紹 TCP: 服務端 客戶端 UDP: 服務端 客戶端

首發時間:2018-02-08 01:14

修改:

2018-03-20 :重置了布局,增加了UDP什么是socket: socket又稱'套接字',應用程序通常通過'套接字'向網絡發出請求或者應答網絡請求。 網絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個連接的一端稱為一個socket。 socket就像電話線插口,只有電話線插上了,才能通信。 python中使用socket來進行網絡連接傳輸 TCP: 如果使用socket模塊來創建TCP客戶端和服務端: 首發需要導入模塊:import socket 然后創建過程在下面 服務端:

TCP服務端一般需要下面幾個操作:建立,綁定IP地址和端口,監聽端口,等待連接,接收數據,傳輸數據 ,關閉連接

建立:server=socket.socket(socket.AF_INET, socket.SOCK_STREAM) 【參數默認就是socket.AF_INET, socket.SOCK_STREAM】 綁定端口:server.bind((’IP地址’,端口)),【地址和端口號是一個 tuple 】 監聽:server.listen() 接受連接: conn,addr=server.accept(),返回值是一個連接實例和一個地址,地址是連接過來的客戶端地址,而數據操作要利用這個連接實例 傳輸數據:conn.send(data),【傳輸的數據必須是字節流,所以對字符串數據需要使用encode() 】 接收數據read:conn.recv(size),【傳輸的數據必須是字節流,size是接收的字節數,如果需要轉成Unicode,需要使用decode() 】 關閉連接close:close()

import socketserver=socket.socket()#建立socketserver.bind((’localhost’,1234))#綁定server.listen()#監聽print('開始等待。。。')conn,addr=server.accept()#接收連接print('連接成功')data=conn.recv(1024)#接收數據print(data.decode())conn.send(data)#發送數據server.close()#關閉連接print('--------------------')上述代碼存在一個問題:只能接受一次連接,連接結束后,服務端socket將關閉,更改成不立即關閉能等待下一個連接的:

#服務器端import socketserver = socket.socket()server.bind((’localhost’,1234)) #綁定ip和端口server.listen(5) #監聽while True: print('開始等待') conn, addr = server.accept() print(conn, addr) print('客戶端連接') while True: data = conn.recv(1024) print('recv:',data) if not data: #當data=0時為真 print('連接斷開...') break conn.send(data)server.close()

注:上述代碼中在linux中正常運行,在windows中會報錯!

如果要在windows中運行,需要捕獲異常:

#服務器端import socketserver = socket.socket()server.bind((’localhost’,1234)) #綁定ip和端口server.listen(5) #監聽while True: print('開始等待') conn, addr = server.accept() print(conn, addr) print('客戶端連接') while True: try: data = conn.recv(1024) print('recv:',data) if not data: #當data=0時為真print('連接斷開...')break conn.send(data) except ConnectionResetError as e: print(e) breakserver.close() 客戶端:

TCP客戶端一般需要下面幾個操作:建立socket,連接遠程socket,傳輸數據 ,接收數據,關閉連接

建立:client=socket.socket() 連接:client.connect((’IP地址’,端口)),其中地址和端口號是一個 tuple 傳輸數據:client.send(data),傳輸的數據必須是字節流,所以對字符串數據需要使用encode() 接收數據recv:client.recv(size),傳輸的數據是字節流,如果需要轉成Unicode,需要使用decode() 關閉連接close:close()

import socketclient=socket.socket()#建立socketclient.connect((’localhost’,1234))#連接client.send('你好'.encode())#發送數據data=client.recv(1024)#接收數據print(data.decode())client.close()#關閉連接上述代碼存在一個問題:只能發送一次數據,發生完數據就會斷開連接,改成可以多次發送數據,不自動斷開的【前提是服務端能接收多次】:

import socketclient=socket.socket()client.connect((’localhost’,1234))while True: cmd=input('>>') if len(cmd)==0: continue client.send(cmd.encode()) cmd_res=client.recv(1024) print(cmd_res.decode())client.close() UDP: 服務端:

UDP服務端通常有以下幾個操作:創建socket,綁定端口,傳輸數據,接收數據

創建socket:server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 綁定端口:server.bind(addr),【addr是一個元組,內容為(地址,端口)】 接收數據:data,client_addr=server.recvfrom(1024) 傳輸數據:server.sendto(data,client_addr)

import socketimport timeserver=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)server.bind(('localhost',1234))start_time=time.time()while True: data,addr=server.recvfrom(1024) print(data,addr) server.sendto('hello'.encode(),addr) time.sleep(1) if time.time()-start_time>30: breakserver.close() 客戶端:

UDP客戶端通常有以下幾個操作:創建socket,傳輸數據,接收數據

創建socket:client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 傳輸數據:server.sendto(data,addr),【addr是一個元組,內容為(地址,端口)】 接收數據:data,server_addr=client.recvfrom(1024)

import socket,timeclient=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)addr=('localhost',1234)start_time=time.time()while True: client.sendto(time.ctime().encode(),addr) data,addr= client.recvfrom(1024) print(data) time.sleep(1) if time.time()-start_time>30: breakclient.close()

更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品99久久久| 99久久99久久精品国产片果冰| 精品一区二区三区中文字幕视频| 三级欧美韩日大片在线看| 亚洲福利精品| 欧美www视频在线观看| 欧美日本久久| 欧美日韩午夜| 日本h片久久| 国内精品美女在线观看| 久久精品三级| 精品久久久亚洲| 欧美aa在线观看| 91av亚洲| 日韩欧美一区二区三区免费观看| 中文在线资源| 日韩毛片视频| 精品一区二区三区免费看 | 成人片免费看| 精品久久福利| 麻豆精品久久久| 国产精品.xx视频.xxtv| 91嫩草精品| 国产精品欧美在线观看| 日本v片在线高清不卡在线观看| 99国产成+人+综合+亚洲欧美| 亚洲精品97| 亚洲在线成人| 另类av一区二区| 婷婷精品久久久久久久久久不卡| 美女网站久久| 在线视频亚洲欧美中文| 日韩精选在线| 91精品国产自产观看在线 | 亚洲va久久| 欧美日韩一区二区三区不卡视频 | 国产激情综合| 亚洲精品永久免费视频| 日韩欧美午夜| 亚洲国产专区校园欧美| 蜜臀av在线播放一区二区三区 | 精品国产乱码久久久| 三级精品视频| 国产精品婷婷| 亚洲涩涩av| 美女视频黄 久久| 中文字幕在线免费观看视频| 久久不见久久见免费视频7| 精品一区二区三区中文字幕| 成人片免费看| 在线观看一区| 久久爱www.| 久久av免费| 麻豆成人在线观看| 成人一二三区| 亚洲日韩视频| 日韩一区二区三区在线看| 国产一卡不卡| 久久国产电影| 中文字幕一区二区三区在线视频| 欧美日中文字幕| 日本精品另类| 成人精品高清在线视频| 精品免费视频| 奇米狠狠一区二区三区| 在线视频观看日韩| 你懂的国产精品永久在线| 精品视频在线一区二区在线| 久久精品免费看| 青青青免费在线视频| 免费不卡在线观看| 亚洲精品日韩久久| 亚洲精品在线二区| 成人日韩av| 69堂免费精品视频在线播放| 亚洲精品永久免费视频| 黄色亚洲免费| 欧美成a人片免费观看久久五月天| 成人欧美一区二区三区的电影| 中文在线不卡| 日韩不卡一区| 亚洲一区欧美| 成人午夜精品| 日韩欧美激情| 亚洲人成在线网站| 国产日韩欧美一区二区三区在线观看| 精品国产一区二区三区噜噜噜| 久久蜜桃av| 亚洲精品在线国产| 六月婷婷综合| 91精品美女| 91久久黄色| 免费一区二区视频| 亚洲高清不卡| 国产精品国产三级在线观看| 亚洲成人不卡| 欧美久久一区二区三区| 午夜精品免费| 日韩国产激情| 欧美亚洲国产日韩| 欧美1级日本1级| 久久亚洲资源中文字| 视频一区二区国产| 久久久久久网| 国产精品igao视频网网址不卡日韩| 红桃视频国产精品| 福利精品在线| 97精品国产99久久久久久免费| 亚洲激情中文| 不卡一区综合视频| av免费不卡国产观看| 日韩av一区二区在线影视| 欧美va天堂在线| 国产精品伦理久久久久久| 国产精品高潮呻吟久久久久| 综合五月婷婷| 亚洲手机视频| 美女福利一区二区三区| 国产精品高潮呻吟久久久久| 欧美在线首页| 亚洲v天堂v手机在线| 日韩专区在线视频| 国产一区观看| 日韩理论视频| 日韩高清不卡| 麻豆网站免费在线观看| 国产精品嫩模av在线| 日本精品一区二区三区在线观看视频| 中文在线不卡| 国产精品美女久久久浪潮软件| 亚洲va中文在线播放免费| 色综合五月天| 麻豆国产一区| 国产精品久av福利在线观看| 久久国产三级精品| 日本国产欧美| 国产精品传媒麻豆hd| 日韩av在线播放中文字幕| 欧美一级二级视频| 日韩国产在线不卡视频| 日韩精品一区二区三区av| 色综合视频一区二区三区日韩 | 国产欧美成人| 国产日本久久| 日韩高清不卡一区| 中文字幕av亚洲精品一部二部| 一区二区三区四区精品视频| 久热精品在线| 在线视频精品| 蜜桃久久久久久| 久久aⅴ国产紧身牛仔裤| 日韩精品一二三| 日产欧产美韩系列久久99| 日韩国产91| 午夜久久av| 免费成人在线影院| 亚洲一区二区三区四区电影| 国产一区二区精品| 亚洲精品亚洲人成在线观看| 麻豆精品91| 日韩一级网站| 国产欧美日韩综合一区在线播放| 国产探花一区二区| 麻豆久久一区| 黄色在线观看www| 亚洲精品国产嫩草在线观看 | 国产精品久久乐| 欧美日韩一区二区高清| 国产精品亚洲产品| 精品久久视频| 欧美一级网址| 你懂的亚洲视频| 日韩区一区二| 国产精品大片| 日韩国产欧美| 亚洲一区日本| 日韩精品亚洲一区二区三区免费| 7777精品| 成人在线视频中文字幕| 日韩大片在线播放| 激情综合网址| 亚洲另类黄色| 久久精品 人人爱| 麻豆一区在线| 久久男人天堂| 99亚洲视频| 欧美久久久网站| 97精品视频在线看| 亚洲激情中文在线| 日韩国产91| 国产v综合v| 亚洲制服欧美另类| 日韩精品三区四区| 精品国产乱码久久久久久1区2匹| 久久视频精品| 日本不卡视频在线观看| 精品深夜福利视频| 久久亚洲成人| 日韩一级网站| 国产精品99在线观看|