S
secondmonk
Unregistered / Unconfirmed
GUEST, unregistred user!
问题:一个GPRS接收端程序,目前有50台终端机,每隔30秒通过UDP协议向服务器发送定位信息,每隔5分钟通过TCP协议向服务器发起新的连接,接收端程序的处理如下:
1、解析接收到的定位信息,存入本地数据库;
2、本地数据库通过后台的一个作业每隔5分钟把本地库中的定位信息同步到数据库服务器;
3、将定位信息转发给所有连接上的监控客户端(如果有客户端的监控程序连上服务器的话,判断客户端的连接使用UDP);
4、收到终端的tcp连接后,记录连接的socket,发送对应的确认信息,并关闭和释放原来的连接(终端每次发起的连接都是新的连接);
现在出现的问题是,接收服务器运行一段时间后(大概10天),内存会逐步消耗完毕而当机,请大家帮忙分析一下,内存的消耗主要在什么地方?我觉得最大可能是socket连接的释放问题,请问socket连接要怎么释放?是否直接close和free就可以了?
1、解析接收到的定位信息,存入本地数据库;
2、本地数据库通过后台的一个作业每隔5分钟把本地库中的定位信息同步到数据库服务器;
3、将定位信息转发给所有连接上的监控客户端(如果有客户端的监控程序连上服务器的话,判断客户端的连接使用UDP);
4、收到终端的tcp连接后,记录连接的socket,发送对应的确认信息,并关闭和释放原来的连接(终端每次发起的连接都是新的连接);
现在出现的问题是,接收服务器运行一段时间后(大概10天),内存会逐步消耗完毕而当机,请大家帮忙分析一下,内存的消耗主要在什么地方?我觉得最大可能是socket连接的释放问题,请问socket连接要怎么释放?是否直接close和free就可以了?