发现一个要可以导致server端,挂掉的bug

Nick_Wu 发布于 2016/10/13 08:06
阅读 288
收藏 0

服务端正常用下列代码向客户端发送数据:

void HPClientSessionHandler::video_data_forwareding(BYTE* pBuffer, DWORD dwBufSize)
{
if (!server->Send(dwConnID, pBuffer, dwBufSize))
{
logger.error("Device:" + ipAddress + ", Service Type:"+to_string(fw_type)+",Error Code::%d Data Send failed!!\n",(int)::GetLastError());
}
}

如果客户一切正常,不会产生问题。

但在两种状态下:

1、客户端正在调试时(这种状态非常容易模拟和重现);

2、客户端运行中挂死,体现为socket连接正常,但是不能接收数据。

此时, 打开任务管理器,以可以看到,server进程占用内存不断上升,我们的机器是在上升到1.6G的挂掉。

4.01采用了ring pool是否解决了此问题?



加载中
0
f
freezingsky
这得问你们server端啊,这里发问题,有什么用?
0
Nick_Wu
Nick_Wu

没有看清问题,请不要胡乱回答。

是讨论和反馈hp socket可能存在的bug, 不是server端程序代码的bug。

返回顶部
顶部