我正在使用 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({ port: 8000, host: 127.0.0.1 }); 什么都没有发生,没有错误,没有结果,但是当我重新加载页面时,我想连接一下,我的服务器显示: events.js:174 throw er; // 未处理的“错误”事件 ^
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)
如果我不设置主机,只设置端口,它工作得很好。