Как получить и сохранить файл на сокете tcp для приложения chome - PullRequest
6 голосов
/ 25 апреля 2020

Я занимаюсь разработкой приложения chrome, которое должно принимать файл от клиента и хранить в локальной файловой системе. У меня есть TCP-сервер, где клиент должен подключиться и отправить файл. У меня есть слушатель для сокета TCP, где я слушаю сообщения. Теперь клиент передает поток определенной длины, который уже известен. Как получить этот файл и сохранить.

TCP-сервер:

chrome.sockets.tcpServer.create({}, function(socketinfo){
    tcpServerSocketId=socketinfo.socketId;
    chrome.sockets.tcpServer.listen(tcpServerSocketId, ip, 0, function (resultCode){
        if(resultCode<0)
            console.log("tcp server not connected");
        chrome.sockets.tcpServer.getInfo(tcpServerSocketId, function(info){
            tcpServerPort=info.localPort;
            sendHub("ConnectToMe "+username+" "+ip+":"+tcpServerPort);
        });
        chrome.sockets.tcpServer.onAccept.addListener(onAccept);
    });
});

TCP Listener:

    chrome.sockets.tcp.onReceive.addListener(function(info) {
    if(info.socketId!=socketId){
        onReceivefromClient(info.socketId, info.data);
    }
    else{
          // console.log(ab2str(info.data));
          var result=ab2str(info.data).split(" ");
          if(result[0]=="$Lock")
            proceed(info.data);
    }
  // sendHub("ConnectToMe 98765432 10.147.231.130:58060");
});
...