0

I want to send a file from TCP server to the browser. Basically, I want the file to download itself when I open the link in the browser.

Here is my code:

    var server = net.createServer(function(socket) {
    socket.on("error", (err) =>{
  console.log("Caught flash policy server socket error: ");
  console.log(err.stack);
});
    socket.on('end', () => {
  console.log('client disconnected');
});
    socket.on("connect", () => {
        console.log("client connected");
    });
    fs.readFile('test.jpg' , (err, data) =>{
      if(!err){
        console.log(data.length);
        socket.write(data);
      }
      else {
        console.log('readfile daemon0 err');
      }
    });
    socket.pipe(socket);
});

and I am always getting an error:

6845772 //data.length
Caught flash policy server socket error:
Error: read ECONNRESET
    at exports._errnoException (util.js:1026:11)
    at TCP.onread (net.js:563:26)
client disconnected //after i disconnect

It does not show 'client connected' in the terminal.

What I want to do is to be able to download this file from the browser when I connect. I am new to this so please help!

This is full Code:

'use strict';

var os = require('os');
var net = require('net');
var fs = require('fs');

var PORT = 1337;

net.bytesWritten = 300000;
net.bufferSize = 300000;
//Create Server
var server = net.createServer(function(socket) {
    socket.on("error", (err) =>{
  console.log("Caught flash policy server socket error: ");
  console.log(err.stack);
});
    socket.on('end', () => {
  console.log('client disconnected');
});
    socket.on("connect", () => {
        console.log("client connected");
    });
    fs.readFile('test.jpg' , (err, data) =>{
      if(!err){
        console.log(data.length);
        socket.write("hello");
        console.log("hello");
      }
      else {
        console.log('readfile daemon0 err');
      }
    });
    socket.pipe(socket);
});

server.listen(PORT, function(){
    console.log("listen")
});
user169772
  • 31
  • 5

0 Answers0