Когда я отправляю маленькое изображение, сервер сохраняет его должным образом, но когда изображение большого размера, оно сохраняет только часть изображения.Та же проблема возникает, когда я делаю запрос через Packet Sender.
Сторона сервера (NODEJS):
import * as fs from "fs";
import * as net from "net";
const server = net.createServer();
server.on("connection", (socket) => {
const stream = fs.createWriteStream("output.jpg");
socket.pipe(stream);
socket.on("data", (data) => {
stream.write(data, (error) => {
if (error) {
console.log(error);
}
})
fs.stat("output.jpg", function (err, stats) {
console.log("Output.jpg: " + stats.size);
});
})
socket.on("end", () => {
stream.end();
});
});
server.listen(4001, 'localhost', () => {
console.log("server started");
});
Сторона клиента (Swift):
import SwiftSocket
func streamImageRequest() {
let client = TCPClient(address: "127.0.0.1", port: 4001)
let jpg = UIImageJPEGRepresentation(#imageLiteral(resourceName: "image"), 1.0)!
switch client.connect(timeout: 10) {
case .success:
switch client.send(data: jpg) {
case .success:
print("sent msg")
case .failure(let error):
print(error)
}
case .failure(let error):
print(error)
}
}