NODEJS TCP Server无法处理大图像

时间:2018-09-27 16:26:28

标签: node.js swift sockets networking tcp

当我发送较小的图像时,服务器会正​​确保存它,但是当图像较大时,它只会保存图像的一部分。当我通过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");
});

客户端(快速):

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)
        }
}

0 个答案:

没有答案