[英]Receive Image using socket programming in Python
我正在嘗試接收python中的圖像以在程序中使用它。
這是服務器代碼:
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(("127.0.0.1", 5005))
server_socket.listen(5)
data = ' '
client_socket, address = server_socket.accept()
print "Conencted to - ",address,"\n"
while (1):
data = client_socket.recv(1024)
print "The following data was received - ",data
print "Opening file - ",data
img = open(data,'r')
while True:
strng = img.readline(512)
if not strng:
break
client_socket.send(strng)
img.close()
print "Data sent successfully"
exit()
#data = 'viewnior '+data
#os.system(data)
這是客戶端代碼:
import socket,os
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(("127.0.0.1", 5005))
size = 1024
while(1):
print "Enter file name of the image with extentsion (example: filename.jpg,filename.png or if a video file then filename.mpg etc) - "
fname = raw_input()
client_socket.send(fname)
#fname = 'documents/'+fname
fp = open(fname,'w')
while True:
strng = client_socket.recv(512)
if not strng:
break
fp.write(strng)
fp.close()
print "Data Received successfully"
exit()
#data = 'viewnior '+fname
#os.system(data)
現在應該閱讀收到的內容,以便能夠使用它。 我正在這樣打開它:
input_image = Image.open('data').convert('L').resize((100, 100))
但是當我在cmd中運行兩個代碼時,輸出為: The following data was received - + path
Opening file - + path
雖然應該使用圖像並顯示最終輸出,但是什么也沒有發生。
有人可以幫忙嗎?
我不知道這是否是您的(唯一的)問題,但是在處理二進制文件時,應將b
標志傳遞給內置函數open
:
img = open(data, 'rb')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.