Ich möchte 2 Bilder von Socket-Server (Java) zu Client-Socket (Python) senden.Senden Sie 2 Bilder von Socket-Server
-> Mein Problem Ich erhielt nur ein Bild (DataImage1) in Client.
Was habe ich falsch gemacht?
Ich sende (Java) die Bilder nacheinander:
...
BufferedImage image = ImageIO.read (file);
imgstr = encodeToString(image, "png");
outToClient.writeBytes(imgstr);
...
BufferedImage chart = ImageIO.read (fileChart);
imgstrChart = encodeToString(chart, "png");
outToClient.writeBytes(imgstrChart);
...
I erhalten (Python) die Bilder nacheinander:
...
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_addr = (tcpclient.host , tcpclient.port)
client_socket.connect(server_addr)
dataImage1 = client_socket.recv(1024)
fp = open (pathImage1, "wb")
while dataImage1:
#{
if not dataImage1: break
recvDataImage += dataImage1
dataImage1 = client_socket.recv(1024)
#}
fp.write(b64decode(recvDataImage1))
fp.flush()
fp.close()
dataImage2 = client_socket.recv(1024)
fp = open (pathImage2, "wb")
while dataImage2:
#{
if not dataImage2: break
recvDataImage2 += dataImage2
dataImage2 = client_socket.recv(1024)
#}
fp.write(b64decode(recvDataImage2))
fp.flush()
fp.close()
....
Haben Sie 'flow()' den OutputStream auf der Java-Seite? – Berger
Sie meinen: outToClient.writeBytes (imgstrChart); \t outToClient.flush(); – Lolitta
Ja genau das. – Berger