Sergey Anisimov
Sergey Anisimov

Reputation: 895

Node.js click button and send something with TCP/IP protocol

I am new in node. I am trying to make the application where user can click on button and something will go to the client with TCP.
Here is my ECHO server (example from nodejs.org)

const net = require('net');

var HOST = '0.0.0.0'
var PORT = 6969;

var server = net.createServer();
server.listen(PORT, HOST);
console.log('Server listening on ' + server.remoteAddress + ':' + server.remotePort);

server.on('connection', function(socket) {
  console.log('CONNECTED: ' + socket.remoteAddress + ':' + socket.remotePort);
  socket.write('Hello from server');
  // other stuff is the same from here
  socket.on('data', function(data) {
    socket.write('reply data ' + data);
  });
});

Could you explain me how to get this connection in another js file. I am trying make module.exports = server, but I can not understand how to send information from another file. Help me, please

Upvotes: 2

Views: 2459

Answers (1)

Valentin Duboscq
Valentin Duboscq

Reputation: 978

You could try something like this :

app.js

 var HOST = '0.0.0.0'
 var PORT = 6969;

 var server = net.createServer();
 server.listen(PORT, HOST);
 console.log('Server listening on ' + server.remoteAddress + ':' + 
 server.remotePort);

 const socket = require("./controllers/socket")(server);
 app.get("/socket/connection", socket.connection);

socket.js

const net = require('net');

module.exports = function(server) {

   module.connection = function(request, response) {

     server.on('connection', function(socket) {
       console.log('CONNECTED: ' + socket.remoteAddress + ':' + 
       socket.remotePort);
       socket.write('Hello from server');
       // other stuff is the same from here
       socket.on('data', function(data) {
          socket.write('reply data ' + data);
       });
     });


   return module;
};

Upvotes: 4

Related Questions