创建的tcp服务器不知道和java一样有类似 socket.sendUrgentData(0xFF); // 发送心跳包 的方法啊?还是自己写定时器不停的socket.write(xx)?
请从客户端发心跳包。然后服务器端反馈心跳包。 定时器太多损伤服务器端性能。
@MiguelValentine 如果客户端发的话,那只是测试服务端状态,客户端如果掉线,服务端还是不能够知道这个连接不能用了吧?像上次说的那个问题,我多进程,客户端重连的话连接可能已经不在上次那个进程里面了,所以得清理掉啊,我socket放obj属性里面了,每个socket对应一个属性
@BrotherPeng 服务器端用一个 2-5心跳间隔的回收计时器,进行回收。
@MiguelValentine 不太明白啊,隔2到5秒去用socket.write方法写入测试吗?
@BrotherPeng 对每个OBJ检测上次发送心跳的时间是否过期,过期就回收。 也可以设置时间久一点节约服务器资源。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
请从客户端发心跳包。然后服务器端反馈心跳包。 定时器太多损伤服务器端性能。
@MiguelValentine 如果客户端发的话,那只是测试服务端状态,客户端如果掉线,服务端还是不能够知道这个连接不能用了吧?像上次说的那个问题,我多进程,客户端重连的话连接可能已经不在上次那个进程里面了,所以得清理掉啊,我socket放obj属性里面了,每个socket对应一个属性
@BrotherPeng 服务器端用一个 2-5心跳间隔的回收计时器,进行回收。
@MiguelValentine 不太明白啊,隔2到5秒去用socket.write方法写入测试吗?
@BrotherPeng 对每个OBJ检测上次发送心跳的时间是否过期,过期就回收。 也可以设置时间久一点节约服务器资源。