Не могу отправить звонок клиенту - PullRequest
1 голос
/ 18 марта 2019

Я не могу заставить модуль отправить данные вызова сервера клиенту (см. Строку 36), чтобы клиент мог затем вернуть данные датчика.

У меня закончились идеи, я много пробовалвещей.

Также, если я раскомментирую «использовать строгий», почему console.log вызывается как ошибка?

Примечание: я включил файл .jshintrc в каталог разработки, чтобы обеспечить ES6проверено.

Код выглядит следующим образом:

// See https://techbrij.com/node-js-tcp-server-client-promisify

//'use strict';

const ServerComms = {  // Server Comms Data
  serverIP    :"192.168.100.199",
  serverPort  : 9000
};  // End ClientComms

var ClientComms = {  // Client Comms Data
  clientIP    :"192.168.100.101",
  clientPort  : 9000
};  // End ClientComms

var ServerCall = {  // Server job call to client
  clientIP    : ClientComms.clientIP, // '192.168.100.101', Same as ClientComms.clientIP
  jobID       : 1
};  // End ServerCall

const net = require('net');

class MyServer {
  constructor() {
    this.address = ServerComms.serverIP;
    this.port = ServerComms.serverPort;
  this.init();
  }  // End constructor


  init() {
    let server = this;

    let onClientConnected = (socket) => {

      console.log(`Sending request job to RSU : ${ServerComms.serverPort} ${ServerComms.serverIP}`);
      server.socket.write( ServerCall.clientIP, ServerCall.jobID );  // Send request and data to client so that client can respond with remote sensor data.


      let clientName = `${ClientComms.clientIP} : ${ClientComms.clientPort}`;
      console.log(`New client is connected: ${clientName}`);

      socket.on('data', (clientData) => {
        console.log(`${clientName} Says: ${clientData}`);
        socket.write(clientData);
        socket.write('exit');
      });

      socket.only('close', () => {
        console.log(`Connection from ${clientName} closed`);
      });

      socket.on('error', (err) => {
        console.log(`Connection ${clientName} error: ${err.message}`);
      });

    };  // End onClientConnect.

    //server.connection = net.createServer(onClientConnected);
    server.connection = net.createServer(  onClientConnected, function(){
      console.log(`Server created at: ${ServerComms.serverIP} : ${ServerComms.serverPort}`);
    });

    server.connection.listen(ServerComms.serverPort, ServerComms.serverIP, function() {
      console.log(`Server started at: ${ServerComms.serverIP} : ${ServerComms.serverPort}`);
    });  // End server.connection.listen

  }  // End init

}  // End class Server

module.exports = MyServer;

Вызывающий модуль выглядит следующим образом:

// To test server, use following code in another file and run it

const Server = require('./ServerCommsV05.js');

new Server();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...