TCP请求发送和接收,如果接收端终止,发送端继续发送会出什么错

我利用nodejs构造了一对TCP服务器和客户端之后,

客户端每隔5秒向服务器端发送一个TCP请求:

function doRunLoopDo() {
log.info('timeout')
  pushNotificationTest();
  setTimeout(() => {
    doRunLoopDo();
  }, 5000);
}

function pushNotificationTest() {
  let pushMessage = {
      command: 'newElement',
      method: 'broadcastToGroup',
      data: {group: "gui" },
      id: Math.floor(Math.random() * 1e100),
      dateTime: Date.now(),
      value: Math.floor(Math.random() * 1000)
     }
    TCPClient.sendMessage(pushMessage);
}

然后我终止服务器端,

在TCP客户端我加上了如下的错误处理分支:

async function startClient(ip = configJson.TCP.client.ip, port = configJson.TCP.client.port) {
	client = new net.Socket();
	await client.connect(port, ip, () => {
      console.log(" in tcpclient.js connect callback!!!");
	});

  client.on('error', (error) => {
    log.info('TCP Client: Connection error - destroy Connection '+error);
  })

最后运行时的输出:

2019-02-22 14:55:07 [ INFO - Jerry Statemachine] TCP Client: Connection error - destroy Connection Error: This socket is closed

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励