请问怎样在程序中知道一个端口是否被占用 应该是大家常常遇到的问题一调试通过就给分! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通常bind时会返回WSAEADDRINUSE就是端口已经被占用了。 调用bind函数,返回WSAEADDRINUSE 则是端口被占用了 CSocket::connect(CString IP, UINT nport)IP为IP地址的字符串格式,nport 为端口号 m_pListen = new CListenSocket( this ); if ( m_pListen ) { if ( m_pListen->Create( 80, SOCK_STREAM, FD_ACCEPT ) ) bOk = m_pListen->Listen(); if ( !bOk ) { CString strMsg; int nErr = m_pListen->GetLastError(); if ( nErr == WSAEADDRINUSE ) strMsg.Format( IDS_LISTEN_INUSE, m_uPort ); else strMsg.Format( IDS_LISTEN_ERROR, m_uPort ); //80,如果被占用,Error!!!!!!!! AfxMessageBox( strMsg, MB_OK|MB_ICONSTOP ); m_pListen->Close(); delete m_pListen; m_pListen = NULL; } } NOTE:IDS_LISTEN_INUSE => Port 80 is already in use! Create一个CSocket,然后Listen一下不成功就说明被占用了 同学说好象用getservbyport()可以,可是就是不会用,不知道有没有实际的例子? 同学说用getservbyport()好象可以可是不会用有没有人成功过???? 我再讲清楚一点吧上面所有人说的方法都必须同时建立一个套接字如果只是想判断某个端口是否被占用,就必须不断的建立套接字,显然是很不明智的就没有合适的方法么?sigh 看来没人知道,结贴送分好了, sigh bmp索引图颜色转换问题 PostMessageA不接受两个参数? 谁能实现下图效果?200分 很伤脑子 望高手指点啊 跪谢之 为什么文本-"编号"不居中呢 vfw能捕捉音频么 请问可以在基于对话框的框架加背景图案! 在ATL中设置属性的get方法时,回传数不对(急急急急急) 困惑???(初学者问题) 求助大神 小弟用npapi写了个dll,在火狐上面用about:plugins可以看到已经识别了,但就是加载不起来 SendMessage问题 讯弛1.3相当与P4的多少
if ( m_pListen )
{
if ( m_pListen->Create( 80, SOCK_STREAM, FD_ACCEPT ) ) bOk = m_pListen->Listen(); if ( !bOk )
{
CString strMsg;
int nErr = m_pListen->GetLastError();
if ( nErr == WSAEADDRINUSE )
strMsg.Format( IDS_LISTEN_INUSE, m_uPort );
else
strMsg.Format( IDS_LISTEN_ERROR, m_uPort );
//80,如果被占用,Error!!!!!!!!
AfxMessageBox( strMsg, MB_OK|MB_ICONSTOP );
m_pListen->Close();
delete m_pListen;
m_pListen = NULL;
}
}
IDS_LISTEN_INUSE => Port 80 is already in use!
可是就是不会用,不知道有没有实际的例子?
可是不会用
有没有人成功过????
上面所有人说的方法都必须同时建立一个套接字
如果只是想判断某个端口是否被占用,就必须不断的建立套接字,显然是很不明智的
就没有合适的方法么?sigh