猿问

如何体现设置与不设置socket.setKeepAlive()的区别?

在客户端设置socket.setKeepAlive(true, 1000),而服务器设置socket.setTimeout(2000)服务器却依然会触发timeout事件?setKeepAlive的作用不是在没有数据传输时定时发送一些包来给服务器么?

MYYA
浏览 781回答 1
1回答

慕尼黑8549860

socket.setKeepAlive() 意思是如果规定时间没连接,则发送一个空包确认。socket.setTimeout() 同理,也是规定时间内没连接的话会触发,但是不会发空包确认,当然你可以通过回调函数中的 socket 来发一个确认包,这样就和 setKeepAlive 类似了,除此之外会触发 timeout 事件。
随时随地看视频慕课网APP

相关分类

Node.js
我要回答