无法将主机设置为节点net.socket connect

时间:2019-09-20 09:20:04

标签: javascript node.js electron-vue

我正在使用电子战构建一个APP。我需要创建一个tcp连接,并使用net.Socket()。但是当我设置HOST时却没有响应。 我需要使用全局套接字,所以我创建了一个像这样的类:

import crc16ccitt from 'crc/crc16ccitt';
const net = require('net');

class TcpClient {

    tcp = null;

    alive = false;

    connect(options) {
        return new Promise((resolve, reject) => {

        this.tcp = new net.Socket();
        this.tcp.connect(options, () => {
            this.alive = true;
            resolve();
            console.log('connect server');
        });

        this.tcp.on('close', () => {
            this.alive = false;
            console.log('close');
            reject();
        });
        this.tcp.on('error', () => {
            console.log('error');
        });
    });
  }
}

export default TcpClient;

然后我将其放在main.js中,如下所示:

Vue.prototype.$tcp = new TcpClient();

但是当我在vue实例中使用这样的时候:     this。$ tcp.connect({端口:8000,主机:127.0.0.1}); 什么也没发生,没有错误,没有结果,但是当我重新加载页面时,我想连接一下,服务器显示:     events.js:174         投掷者//未处理的“错误”事件         ^

Error: read ECONNRESET
    at TCP.onStreamRead (internal/stream_base_commons.js:111:27)
Emitted 'error' event at:
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)

如果我没有设置HOST,只需端口即可,效果很好。

0 个答案:

没有答案