第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將圖像從 Java 客戶端發(fā)送到 Python 服務(wù)器時(shí)圖像文件損壞

將圖像從 Java 客戶端發(fā)送到 Python 服務(wù)器時(shí)圖像文件損壞

慕斯709654 2023-02-12 19:04:11
我想通過(guò)套接字從我的客戶端(它是一個(gè) Java 應(yīng)用程序)發(fā)送一個(gè)圖像到我的服務(wù)器,它應(yīng)該用 Python 編程。不幸的是,我是 Python/Java 編程的新手,不理解我在網(wǎng)上找到的 moast 方法,但到目前為止似乎效果最好的是:在客戶端,我這樣做了    String pathname = new String("C:\\Users\\vince\\Pictures\\Saved Pictures\\M249.jpg");    Socket photoSocket = new Socket(IP_ADDRESS, PORT_NO);    DataOutputStream dos = new DataOutputStream(photoSocket.getOutputStream());    FileInputStream fis = new FileInputStream(pathname);    int size = fis.available();    byte[] data = new byte[size];    fis.read(data);    dos.writeInt(size);    dos.write(data);    dos.flush();    dos.close();    fis.close();    photoSocket.close();如果我理解正確的話,只需將字節(jié)數(shù)組形式的圖像數(shù)據(jù)發(fā)送到接收端口?,F(xiàn)在在服務(wù)器(Python)上我有這個(gè):import socket  # Import socket modules = socket.socket()  # Create a socket objectport = 1234  # Reserve a port for your service.s.bind(("192.168.178.44", port))  # Bind to the ports.listen(5)  # Now wait for client connection.while True:  conn, addr = s.accept()  print('client connected ... ', addr)  f = open('tst.jpg', 'wb')  while True:    data = conn.recv(1024)    if not data: break    f.write(data)    print('writing file ....')  f.close()  print("finished writing file")  conn.close()  print('client disconnected')它似乎在傳輸數(shù)據(jù),因?yàn)樵趩?dòng)我的 python 服務(wù)器文件然后運(yùn)行 java 應(yīng)用程序之后,我的 python 控制臺(tái)運(yùn)行:客戶端連接... ('192.168.178.44', 51061) 寫文件....寫文件....寫文件....寫文件....寫文件....寫文件....寫入文件....完成寫入文件客戶端斷開(kāi)連接然后我有一個(gè)名為“tst.jpg”的新文件,它在兩個(gè)路徑中具有相同的大小,但我無(wú)法打開(kāi)它,因?yàn)樗阅撤N方式損壞或損壞。你能告訴我出了什么問(wèn)題嗎,請(qǐng)問(wèn)我的代碼應(yīng)該是什么樣子的?正如我所說(shuō),我是編程新手,對(duì)我應(yīng)該做什么的模糊概念對(duì)我?guī)椭淮蟆?
查看完整描述

1 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

您的兩個(gè)代碼都可以,只是一件事。在 java 代碼中,您首先發(fā)送數(shù)據(jù)的大小,但在 python 代碼中,您不會(huì)將它與圖像分開(kāi)。

最好的辦法就是不發(fā)送尺寸,而是通過(guò)發(fā)送整個(gè)圖像來(lái)開(kāi)始發(fā)送。我的意思是評(píng)論這一行:

        dos.writeInt(size);

它應(yīng)該可以解決問(wèn)題。

祝你好運(yùn)。


查看完整回答
反對(duì) 回復(fù) 2023-02-12
  • 1 回答
  • 0 關(guān)注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)