首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

客户端程序出现大量listening状态的端口,是什么原因?该怎么处理

2012-01-20 
客户端程序出现大量listening状态的端口,是什么原因?我写了一个客户端程序,发现程序运行后,出现许多listen

客户端程序出现大量listening状态的端口,是什么原因?
我写了一个客户端程序,发现程序运行后,出现许多listening状态的端口,不知是什么原因,怎么解决?
if(m_ipSvrAddr.sin_family   ==   0   ||   m_hWnd   ==   NULL)
{
m_strErrorMessage.LoadString(IDS_ERROR_NETADDR_EMPTY);
m_nNetStatus   =   SS_DEATH;
return   FALSE;
}
if((m_sock   =   socket(AF_INET,   SOCK_STREAM,   IPPROTO_IP))   ==   INVALID_SOCKET)  
{
m_strErrorMessage.LoadString(IDS_ERROR_CREATE_SOCKET);
m_nNetStatus   =   SS_DEATH;
return   FALSE;
}
if(WSAAsyncSelect(m_sock,   m_hWnd,   WM_SOCKNOTIFY,  
FD_READ   |   FD_WRITE   |   FD_CONNECT   |   FD_CLOSE)   ==   SOCKET_ERROR)
{
int   errcode   =   WSAGetLastError();
m_strErrorMessage.Format(IDS_ERROR_SELECT,   errcode);
m_nNetStatus   =   SS_DEATH;
return   FALSE;
}
m_nNetStatus   =   SS_CONNECTIONING;
if(connect(m_sock,   (PSOCKADDR)&m_ipSvrAddr,   sizeof(m_ipSvrAddr))   ==   SOCKET_ERROR)
{  
int   errcode   =   WSAGetLastError();
if(errcode   !=   WSAEWOULDBLOCK)
{
m_strErrorMessage.Format(IDS_ERROR_CONNECT,   errcode);
m_nNetStatus   =   SS_DEATH;
return   FALSE;
}
}

[解决办法]
是这个程序在listening吗?晕
[解决办法]
可能是连接断掉而服务器没断
[解决办法]
似乎与这段代码无关。
[解决办法]
估计某个程序重复运行 端口参数是0的bind绑定函数
[解决办法]
你的这个客户端是不是也是服务端,你的协商通信协议中有要求客户端也监听端口吗
[解决办法]
如果你是Windows XP以上的系统,使用:
Netstat -ano
看看到底是那个进程Listen的
如果是Windows 2000,去下个fport。

呵呵,有可能是Virus作怪。

热点排行