如何判断csocket是否已断开
用mfc的csocket类实现网络连接,如何判断csocket是否已断开
(我希望不要在onclose中实现)而调用一个类似IsConnect的函数,
可以吗?
问题点数:50、回复次数:4Top
1 楼sxbyl(sxbyl)回复于 2000-11-06 13:35:00 得分 50
你的断开是什么意思?物理断开?如果是的话,我现用的方法是先发送请求,然后等待对方的应答,如果一定时间内没有收到应答,认为连接已断开。如果不是指物理断开,还不想在OnClose中实现,还有一个方法,就是断开后,Socket会收到一条OnReceive消息,Receive后返回字节数为0,不过这种方法可能也不满足你的要求。Top
2 楼sunqi()回复于 2000-11-08 09:18:00 得分 0
我还是用了OnClose(),还是这样比较简单。谢谢Top
3 楼meifen(meifen)回复于 2001-07-13 14:43:24 得分 0
4Top
4 楼Julienjut(秋水)回复于 2001-10-10 08:46:23 得分 0
假设你要判断的Socket为sock
fd_set fdsetWrite;
FD_ZERO(&fdsetWrite);
FD_SET(sock,&fdsetWrite);
struct timeval tv;
tv.tv_sec=0; tv.tv_usec=0;
if((select(0,NULL,&fdsetWrite,NULL,&tv)==SOCKET_ERROR)
{
//sock已关闭
} Top




