MFC网络编程客户端关闭,服务器如何接收?
MFC网络编程中,客户端connect可以发出消息被服务器accept接收,send可以被recv接收,shutdown或socketclose能被什么接收么?还是客户端...
MFC网络编程中,客户端connect可以发出消息被服务器accept接收,send可以被recv接收,shutdown或socketclose能被什么接收么?还是客户端关闭了,服务器啥也不知道?
一开始没有看CAsyncSocket封装,原来对于各种通知是可以用另外的函数抓获,因为FD_CLOSE没有什么接收的函数,所以就不知道怎么处理。用原装的winsock2库里面的函数写东西确实不太容易。用CAsyncSocket的话,重载OnClose就可以了╮(╯▽╰)╭。 展开
一开始没有看CAsyncSocket封装,原来对于各种通知是可以用另外的函数抓获,因为FD_CLOSE没有什么接收的函数,所以就不知道怎么处理。用原装的winsock2库里面的函数写东西确实不太容易。用CAsyncSocket的话,重载OnClose就可以了╮(╯▽╰)╭。 展开
展开全部
如果是正常退出的话,服务器是知道有客户端退出的。可以坚持socket 的属性,如果是SOCKET_ERROR的话一般是客户端关闭了,除非是断网(拔掉网线或网络断了) 这样的话就不大好办了,需要加心跳来判断客户端是否关闭
追问
问题是客户端向服务器发出退出这个信息的时候,服务器用什么函数来处理,就像connect可以用accept来处理一样
追答
如果是tcp的话就是listen,udp的话就是accept,和客户端是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
客户端关闭服务器是知道的
只不过这个过程一般我们不需要关心而已
如果想了解过程,可以看tcp/ip协议
里面有描述
只不过这个过程一般我们不需要关心而已
如果想了解过程,可以看tcp/ip协议
里面有描述
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果客户端shutdown或socketclose,服务器给客户端send,或是在客户端的socket上recv都会失败。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FD_CLOSE 接收套接字关闭的通知.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询