因此,我正在处理一些连接到a log server的代码,并以特定格式发送消息。我创建套接字,传入主机和端口号,然后我的客户端成功连接。我知道这是因为connect事件执行它的回调。但是,当我尝试写入套接字时,连接中断。知道是什么导致了这个吗?
这是我正在做的事情的片段。
function Harvester(options){
const socket = new net.Socket();
socket.connect({port:options.port, host:options.host}, ()=>{
socket.write(`+node|${options.node}\r\n`);
});
socket.on('connect', (socket) => console.log('Connected to Log Harvester!'));
socket.on('data', (data) => console.log('Message from Logio Server: ', data));
socket.on('error', (error) => console.log('Error from Logio Server: ', error.message));
socket.on('close', (error) => {
console.log(!error ? 'Client connection closed' : 'Client connection closed with Error');
});
socket.on('end', () => console.log('Logio Connection Ended'));
return {
/**
* Writes log to tcp socket
* @param node
* @param stream
* @param level
* @param message
*/
log: (level, stream, message, done) => {
socket.write(`+log|${stream}|${options.node}|${level}|${JSON.stringify(message)}\n`, function(err){
if(err){ throw err }
socket.end();
});
done(null, true);
}
}
}
服务器拒绝我的连接?我是否需要以某种方式保持连接Alive?