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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python實(shí)現(xiàn)同一局域網(wǎng)下傳輸圖片

瀏覽:23日期:2022-08-01 17:20:44

簡(jiǎn)述

Python可以通過(guò)網(wǎng)絡(luò)套接字來(lái)進(jìn)行傳輸圖片 這點(diǎn)還是比較有意思的。

下面用TCP來(lái)進(jìn)行實(shí)現(xiàn),適用于Python3

代碼功能簡(jiǎn)述

下面代碼

實(shí)現(xiàn)了在一個(gè)電腦上發(fā)送圖片(Sender) 實(shí)現(xiàn)了在另外一個(gè)電腦(也可以是同一個(gè)電腦上的不同端口)接受圖片(Reciever) 只發(fā)一次,然后只收一次 新圖片會(huì)在舊圖片上多一個(gè) “new_”前綴 必須要先開(kāi)接受者代碼才行,之后再啟動(dòng)發(fā)送者代碼(不然發(fā)送者代碼會(huì)直接被拒絕) 下面是固定了在一個(gè)電腦上(看ip地址,下面寫(xiě)的是127.0.0.1,如果是其他電腦就寫(xiě)其他電腦上的ip地址) 另外本程序只能在同一個(gè)局域網(wǎng)下使用(就算是廣域網(wǎng)上,那就必須要使用廣域網(wǎng)的ip地址)

代碼

【后附解析】

Sender.py (發(fā)送者)

import socketimport osimport sysimport structdef sock_client(): try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((’127.0.0.1’, 6666)) except socket.error as msg: print(msg) print(sys.exit(1)) while True: filepath = input(’input the file: ’) # filepath = ’test.png’ fhead = struct.pack(b’128sl’, bytes(os.path.basename(filepath), encoding=’utf-8’), os.stat(filepath).st_size) s.send(fhead) print(’client filepath: {0}’.format(filepath)) fp = open(filepath, ’rb’) while 1: data = fp.read(1024) if not data:print(’{0} file send over...’.format(filepath))break s.send(data) s.close() breakif __name__ == ’__main__’: sock_client()

Reciever.py (接受者)

import socketimport osimport sysimport structdef socket_service(): try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind((’127.0.0.1’, 6666)) s.listen(10) except socket.error as msg: print(msg) sys.exit(1) print('Wait') while True: sock, addr = s.accept() deal_data(sock, addr) break s.close()def deal_data(sock, addr): print('Accept connection from {0}'.format(addr)) while True: fileinfo_size = struct.calcsize(’128sl’) buf = sock.recv(fileinfo_size) if buf: filename, filesize = struct.unpack(’128sl’, buf) fn = filename.decode().strip(’x00’) new_filename = os.path.join(’./’, ’new_’ + fn) recvd_size = 0 fp = open(new_filename, ’wb’) while not recvd_size == filesize:if filesize - recvd_size > 1024: data = sock.recv(1024) recvd_size += len(data)else: data = sock.recv(1024) recvd_size = filesizefp.write(data) fp.close() sock.close() breakif __name__ == ’__main__’: socket_service()

解析:

發(fā)送者代碼:

還是先創(chuàng)建TCP套接字,并發(fā)起連接:

具體代碼如下:

try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((’127.0.0.1’, 6666)) except socket.error as msg: print(msg) print(sys.exit(1))

接下來(lái)的While循環(huán)中,就開(kāi)始進(jìn)行圖片發(fā)送

通過(guò)struct庫(kù)進(jìn)行打包,然后再用套接字來(lái)發(fā)送 注意:網(wǎng)絡(luò)上的有些代碼是不能直接用的,比如在這里,就需要把str變成bytes 通過(guò)os庫(kù)來(lái)獲取文件的基本名(這個(gè)是為了避免有些文件中包含具體路徑) 通過(guò)os庫(kù)來(lái)獲取文件的大小(通過(guò)文件狀態(tài)中關(guān)于大小的描述中獲取到)

fhead = struct.pack(b’128sl’, bytes(os.path.basename(filepath), encoding=’utf-8’), os.stat(filepath).st_size)s.send(fhead)

之后再通過(guò)二進(jìn)制方式來(lái)獲取文件。 然后再發(fā)送出去,每次發(fā)送固定長(zhǎng)度的數(shù)據(jù)。先讀,再判斷是否為空,再發(fā)送。

接受端:

還是一樣,先創(chuàng)建套接字(不過(guò)這個(gè)需要綁定對(duì)應(yīng)的ip以及端口) 具體代碼如下:(這里寫(xiě)的是監(jiān)聽(tīng)10個(gè)套接字對(duì)象,但是在我們代碼中并沒(méi)喲用到)

try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind((’127.0.0.1’, 6666)) s.listen(10) except socket.error as msg: print(msg) sys.exit(1)

之后就進(jìn)入到循環(huán),來(lái)判斷,是否獲取到sock對(duì)象,這里是會(huì)進(jìn)入阻塞狀態(tài)的。

deal_data中就開(kāi)始通過(guò)連接的對(duì)象來(lái)獲取數(shù)據(jù)。

一樣,還是一個(gè)無(wú)限循環(huán),但其實(shí)本質(zhì)上還是空的。。。沒(méi)什么特別的。

之后就是對(duì)于傳過(guò)來(lái)的文件名處理一下,這里的這些“128sl”,其實(shí)就是一個(gè)大小規(guī)模(類(lèi)似于打包的箱子大小的樣子)。然后就是得到新的文件名了。 對(duì)應(yīng)的代碼如下:

filename, filesize = struct.unpack(’128sl’, buf)fn = filename.decode().strip(’x00’)new_filename = os.path.join(’./’, ’new_’ + fn)

之后的recvd_size,其實(shí)就是為了來(lái)計(jì)數(shù)的標(biāo)簽 之后就不斷地收,邊收邊寫(xiě)入文件,一直到收完了之后。就關(guān)閉掉對(duì)應(yīng)的文件流 最后關(guān)閉套接字,退出循環(huán)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品v一区二区三区| 亚洲天堂一区二区| 亚洲天堂久久| 久久精品国产68国产精品亚洲| 亲子伦视频一区二区三区| 日韩欧美二区| 国产精品夜夜夜| 四虎成人av| 在线成人直播| 午夜亚洲精品| 日韩欧美高清一区二区三区| 青草国产精品久久久久久| 国产精品久久久久久久久久妞妞| 岛国精品一区| 一区在线免费观看| 综合亚洲自拍| 欧美黄色一区| 久久久成人网| 中文无码日韩欧| 国产精品久久久久av蜜臀| 久久精品国内一区二区三区| 老司机精品视频网| 日韩av首页| 亚洲色图综合| 久久av影院| 欧美影院三区| 日韩精品成人| 麻豆国产在线| 国产精品老牛| 国产精品视频3p| 天堂8中文在线最新版在线| 精品欧美日韩精品| 午夜久久tv| 国产欧美一区二区精品久久久 | 国产精品传媒麻豆hd| 国产精品毛片一区二区在线看| 久久在线电影| 日韩av中文在线观看| 日韩欧美1区| 日本99精品| 久久蜜桃精品| 欧美日一区二区三区在线观看国产免| 日本欧美不卡| 日本va欧美va精品| 人人草在线视频| 日韩欧美久久| 欧美日韩精品免费观看视频完整| 国产精品一级| 国产亚洲综合精品| 国内不卡的一区二区三区中文字幕| 五月综合激情| 久久精品国产久精国产爱| 视频一区视频二区中文字幕| 麻豆成全视频免费观看在线看| 日韩精品一级中文字幕精品视频免费观看| 嫩草伊人久久精品少妇av杨幂| 在线精品视频在线观看高清| 国产日本亚洲| 香蕉久久国产| 亚洲高清毛片| 精品久久不卡| 欧美一级二区| 亚洲九九精品| 在线看片不卡| 久久久国产精品一区二区中文| 亚洲精品字幕| 激情婷婷综合| 伊人网在线播放| 久久久久九九精品影院| 日韩精品亚洲专区| 午夜日韩在线| 日韩不卡在线| 91亚洲自偷观看高清| **爰片久久毛片| 日韩精品免费一区二区夜夜嗨| 中文一区在线| 欧美91精品| 91精品久久久久久久久久不卡| 精品入口麻豆88视频| 日本色综合中文字幕| 特黄特色欧美大片| 成人在线超碰| 国产精品久久久久久久久久久久久久久 | 中文字幕日韩高清在线 | 日韩在线卡一卡二| 国户精品久久久久久久久久久不卡 | 欧美日韩1区| 久久亚洲色图| 国产精品外国| 石原莉奈在线亚洲三区| 九一成人免费视频| 99国产精品一区二区| 日本高清不卡一区二区三区视频| 国产丝袜一区| 欧美亚洲二区| 国产欧美日韩视频在线| 欧美日韩亚洲一区二区三区在线| 日本欧美一区二区在线观看| 日韩av中文字幕一区二区三区| 亚洲毛片一区| 奇米亚洲欧美| 日本亚洲欧美天堂免费| 亚洲精品进入| 91欧美精品| 国产精品色婷婷在线观看| 国产精品1luya在线播放| 国产精品日本一区二区三区在线| 国产精品一区二区av交换| 日韩精品免费视频人成| 国产精品一区二区三区美女| 嫩草伊人久久精品少妇av杨幂 | 日本午夜精品一区二区三区电影 | 欧美日韩一区二区三区视频播放| 久久国产中文字幕| 91成人网在线观看| 午夜视频一区二区在线观看| 日韩和欧美的一区| 日韩久久一区| 日韩精品国产精品| 欧美亚洲色图校园春色| 久久天堂影院| 在线一区视频观看| 在线一区欧美| 午夜精品影视国产一区在线麻豆| 日韩综合一区二区| 国产日产精品一区二区三区四区的观看方式| 国产精品伊人| 精品视频在线观看网站| 老司机免费视频一区二区三区| 女生影院久久| 香蕉国产精品| 在线精品视频一区| 国产日产精品_国产精品毛片| 老司机精品久久| 亚洲精品日本| 久久久久久婷| 婷婷亚洲五月| 亚洲伊人精品酒店| 久久狠狠亚洲综合| 九九色在线视频| 免费精品视频最新在线| 久久精品五月| 一本色道精品久久一区二区三区| 久久av资源| 国产一区二区三区自拍| 一区二区三区网站| 国产精品亚洲四区在线观看 | 美女黄网久久| 国产精品入口久久| 成人午夜在线| 久久久国产精品一区二区中文| 免费久久精品| 亚洲精品乱码久久久久久蜜桃麻豆| 久久国产精品免费精品3p| 久久久久久一区二区| 一区二区三区四区在线看| 91精品国产自产精品男人的天堂| 国产精品成久久久久| 日本久久成人网| 日本在线视频一区二区| 91成人精品在线| 国产精品主播| 欧美日韩一二三四| 日韩精品一区二区三区中文 | 日韩精品免费观看视频| 亚洲黄色免费看| 性色一区二区| 国产一区二区精品福利地址| 中文字幕系列一区| 一本综合精品| 精品免费av| 国产一区二区三区自拍| 免费一级欧美片在线观看网站| 国产精品久久乐| 伊人网在线播放| 亚洲无线观看| 国产第一亚洲| 日本a级不卡| 精品一区毛片| 午夜欧美巨大性欧美巨大| 国产精品扒开腿做爽爽爽软件| 丝袜诱惑制服诱惑色一区在线观看| 国产福利片在线观看| 欧美交a欧美精品喷水| 日韩高清中文字幕一区| 亚洲一区国产| 亚洲精品小说| 欧美aa在线观看| 美女久久一区| 偷拍欧美精品| 欧美va天堂| 久久精品亚洲人成影院| 欧美国产美女| 久久影视三级福利片| 欧美在线首页| 视频一区二区国产| 国产精品普通话对白| 欧美日韩国产免费观看视频| 久久av综合| 国产精品欧美一区二区三区不卡|