我將MultiPart
內容發送到我的遠程服務器以將其存儲在文件系統中。爲此,我使用Java TCP/IP
協議。爲避免網絡帶寬和TCP輸入/輸出緩衝存儲器,我以GZIP
壓縮格式發送數據。但是,我無法解壓從客戶端收到的數據。我得到了Unexpected end of ZLIB input stream
異常。它由於服務器正在接收數據而在chunks
。TCP Socket以GZIP壓縮格式發送數據
Java代碼的
客戶
OutputStream out = new GZIPOutputStream(sock.getOutputStream());
byte[] dataToSend = FileUtil.readFile(new File("/Users/bharathi/Downloads/programming_in_go.pdf"));
out.write(dataToSend);
服務器
out = new FileOutputStream("/Users/bharathi/Documents/request_trace.log");
InputStream in = new GZIPInputStream(clntSocket.getInputStream());
int totalBytesRead = 0;
int bytesRead;
byte[] buffer = new byte[BUFFER_SIZE];
while ((bytesRead = in.read(buffer)) != -1)
{
out.write(buffer , 0 , bytesRead);
totalBytesRead += bytesRead;
}
有沒有什麼解決派遣在插座GZIP壓縮格式的數據?
您可能需要更改協議以首先發送大小以進行讀取。 –