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

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

python網(wǎng)絡編程socket實現(xiàn)服務端、客戶端操作詳解

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

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

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

首發(fā)時間:2018-02-08 01:14

修改:

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

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

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

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

#服務器端import socketserver = socket.socket()server.bind((’localhost’,1234)) #綁定ip和端口server.listen(5) #監(jiān)聽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) #監(jiān)聽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,傳輸數(shù)據(jù) ,接收數(shù)據(jù),關閉連接

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

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

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服務端通常有以下幾個操作:創(chuàng)建socket,綁定端口,傳輸數(shù)據(jù),接收數(shù)據(jù)

創(chuàng)建socket:server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 綁定端口:server.bind(addr),【addr是一個元組,內容為(地址,端口)】 接收數(shù)據(jù):data,client_addr=server.recvfrom(1024) 傳輸數(shù)據(jù):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客戶端通常有以下幾個操作:創(chuàng)建socket,傳輸數(shù)據(jù),接收數(shù)據(jù)

創(chuàng)建socket:client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 傳輸數(shù)據(jù):server.sendto(data,addr),【addr是一個元組,內容為(地址,端口)】 接收數(shù)據(jù):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數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》

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

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美中文一区二区| 亚洲午夜久久| 欧美日韩国产免费观看| 99久久九九| 久久久国产亚洲精品| 久久xxx视频| 国产一区二区三区四区五区| 国产欧美日韩精品一区二区三区| 一本色道精品久久一区二区三区| 欧美中文字幕一区二区| 日韩高清中文字幕一区二区| www.51av欧美视频| 久久久精品午夜少妇| 欧美精品高清| 精品国产三区在线| 免费日韩一区二区三区| 国产激情欧美| 久久久久亚洲精品中文字幕| 国产精品高清一区二区| 免费日韩成人| 久久久久久久久久久9不雅视频| xxxxx性欧美特大| 日韩.com| 日韩中文首页| 精品欧美激情在线观看| 一区在线免费| 免费一级片91| 免费在线观看精品| 国产黄色精品| 欧美日韩精品一区二区三区视频| 国产日产精品_国产精品毛片| 国产精品亲子伦av一区二区三区| 国产情侣一区在线| 国产精品宾馆| 91国语精品自产拍| 蜜臀精品一区二区三区在线观看| 日本亚洲三级在线| 欧美激情五月| 欧洲av一区二区| 首页国产欧美日韩丝袜| 美女在线视频一区| 欧洲亚洲一区二区三区| 老鸭窝亚洲一区二区三区| 婷婷综合国产| 91精品国产自产精品男人的天堂| 中文字幕在线视频网站| 日韩国产欧美| 在线视频免费在线观看一区二区| 日本aⅴ亚洲精品中文乱码| 国产精品www.| 日本久久成人网| 一区二区国产在线| 91看片一区| 亚洲欧美在线综合| 麻豆国产精品| 9国产精品视频| 日韩中文字幕在线一区| 麻豆传媒一区二区三区| 99精品视频精品精品视频| 天堂av在线一区| 国产日韩免费| 久久精品国语| 日韩av中文字幕一区二区| 精品国产免费人成网站| 丝袜美腿亚洲色图| 精品国产一区二区三区性色av| 男人操女人的视频在线观看欧美| 麻豆精品新av中文字幕| 尤物在线精品| 久久国产精品美女| 欧美日韩免费观看一区=区三区 | 91精品亚洲| 日本亚洲视频| 久久青草久久| 日本特黄久久久高潮| 日本美女一区| 国产精品一区二区精品视频观看| 国精品一区二区三区| 欧美激情在线精品一区二区三区| 亚洲女同一区| 97精品国产一区二区三区 | 成人在线网站| 国产精品草草| 日韩一区电影| 国产精品玖玖玖在线资源| 欧美日韩国产综合网| 国产欧洲在线| 欧美1区2区3| 亚洲九九精品| 伊人久久亚洲热| 在线一区av| 久久三级毛片| 青青国产精品| 国产精品片aa在线观看| 免费在线成人网| 亚洲午夜在线| 国产精品黑丝在线播放| 欧美视频久久| 日韩国产网站| 精品久久久亚洲| 国产精品sm| 麻豆精品国产91久久久久久| 日本va欧美va瓶| 免费看欧美美女黄的网站| 久久久久国产精品一区三寸| 久久久国产精品网站| 婷婷成人av| 少妇高潮一区二区三区99| 亚洲午夜av| 六月婷婷一区| 亚洲一区二区免费看| 久久久久久黄| 欧美sm一区| 日韩三级视频| 视频一区中文字幕精品 | 国产精品a级| 国产精品蜜月aⅴ在线| 日韩精品亚洲专区在线观看| 一级成人国产| 亚洲美女91| 日韩激情啪啪| 久久精品国产福利| 丝袜美腿诱惑一区二区三区| 日韩大片免费观看| 五月天久久777| 日韩 欧美一区二区三区| 日韩福利视频导航| 色乱码一区二区三区网站| 99久久夜色精品国产亚洲1000部| 日韩中文字幕区一区有砖一区| 久久精品999| 欧美亚洲日本精品| 国产精品试看| 美女免费视频一区| 黄色亚洲免费| 国产精品亚洲二区| 亚洲成av在线| 中文字幕日韩欧美精品高清在线| 青草综合视频| 久久精品电影| 清纯唯美亚洲综合一区| 国产精品亲子伦av一区二区三区| 亚洲爱爱视频| 日韩和欧美一区二区| 国精品产品一区| 99视频一区| 欧美国产先锋| av高清一区| 99久久久久久中文字幕一区| 日韩天堂av| 国产亚洲欧洲| 国产日韩一区二区三区在线播放| 高清一区二区三区av| 日韩成人精品一区二区| 亚洲深夜福利| 最新国产拍偷乱拍精品| 亚洲精品动态| 日韩激情一区二区| 久久国产欧美| 亚洲特级毛片| 里番精品3d一二三区| 国产欧美日韩视频在线| 欧美亚洲免费| 国产精品亚洲欧美一级在线| 婷婷亚洲五月| 精品亚洲a∨| 日韩av有码| 91精品国产经典在线观看| 日韩午夜视频在线| 99精品国产一区二区三区| 秋霞影视一区二区三区| 蜜臀av亚洲一区中文字幕| 欧美特黄a级高清免费大片a级| 亚洲女同一区| 玖玖玖国产精品| 日韩精品视频中文字幕| 国产综合婷婷| 美女久久一区| 久久久久99| 亚洲综合电影一区二区三区| 中文字幕在线免费观看视频| 久久国产亚洲精品| 麻豆一区二区三区| 97精品国产| 国产欧美久久一区二区三区| 国产精品久久久久久久久久久久久久久 | 蜜臀国产一区| 欧美亚洲tv| 久久国产精品美女| av资源中文在线| 欧美日韩免费观看一区=区三区| 亚洲欧美日本日韩| 久久精品影视| 另类亚洲自拍| 午夜欧美理论片| 日本在线不卡视频| 蜜桃久久精品一区二区| 婷婷综合电影| 一二三区精品| 久久精品国产999大香线蕉|