新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
python實現(xiàn)同一局域網(wǎng)下傳輸圖片-創(chuàng)新互聯(lián)
簡述
Python可以通過網(wǎng)絡套接字來進行傳輸圖片
這點還是比較有意思的。
下面用TCP來進行實現(xiàn),適用于Python3
代碼功能簡述
下面代碼
- 實現(xiàn)了在一個電腦上發(fā)送圖片(Sender)
- 實現(xiàn)了在另外一個電腦(也可以是同一個電腦上的不同端口)接受圖片(Reciever)
- 只發(fā)一次,然后只收一次
- 新圖片會在舊圖片上多一個 “new_”前綴
- 必須要先開接受者代碼才行,之后再啟動發(fā)送者代碼(不然發(fā)送者代碼會直接被拒絕)
- 下面是固定了在一個電腦上(看ip地址,下面寫的是127.0.0.1,如果是其他電腦就寫其他電腦上的ip地址)
- 另外本程序只能在同一個局域網(wǎng)下使用(就算是廣域網(wǎng)上,那就必須要使用廣域網(wǎng)的ip地址)
代碼
【后附解析】
Sender.py (發(fā)送者)
import socket import os import sys import struct def 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() break if __name__ == '__main__': sock_client()
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享題目:python實現(xiàn)同一局域網(wǎng)下傳輸圖片-創(chuàng)新互聯(lián)
轉載注明:http://www.dlmjj.cn/article/dssooi.html