我应该与控制器通信,该控制器具有配置为发送状态数据的端口。我应该使用 NodeJS 读取特定 IP 的端口 2424。我已经尽我所能,但什么也没读到。这是我的困惑: * 我没有收到“连接”事件——这可能是因为在控制器级别实现的接口非常简单吗?或者没有建立连接 * 在 nodejs 的套接字中没有“读取”方法 - 只是一个从未收到任何东西的 on('data') 。
我提到我没有听,因为我的应用程序是一个客户端,不接受任何连接,只是连接到服务以接收数据
我的代码是这样的:
var host = 'xxx.yyy.zzz.ttt';
var port = 2424;
var client = net.connect({port:port, host:host}, function() {
log.logOut(ModName, '[checkPortaRack] Client connected.');
});
client.setTimeout(SOCKET_TIMEOUT * 1000);
client
.on('timeout', function() {
client.destroy();
callback(new Error("No data received. So device '"+dev.name+"' in error"));
})
.on('connect', function() {
log.logOut(ModName, '[checkPortaRack] Connected...');
})
.on('data', function(chunk) {
data += chunk;
console.log(data.toString());
log.logOut(ModName, 'Got data...');
client.destroy();
})
.on('end', function() {
data = …Run Code Online (Sandbox Code Playgroud)