TCP-сервер NODEJS не может обрабатывать большие изображения - PullRequest
0 голосов
/ 27 сентября 2018

Когда я отправляю маленькое изображение, сервер сохраняет его должным образом, но когда изображение большого размера, оно сохраняет только часть изображения.Та же проблема возникает, когда я делаю запрос через 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)
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...