01 2015 档案
C++ 非阻塞套接字的使用 (3)
摘要:异步非阻塞套接字避免了死循环的接收问题,但是软件用起来体验还是很差。究其原因,软件在指令的发送、接收上,采取了一种不合理的方式:在指令的发送后,立刻调用接收函数,等待回令。 若是采用同步阻塞套接字,那么如果连接出现问题没有回令,那么软件进程会始终等待锁死,这样显然是不合理。于是采用同步非阻塞的... 阅读全文
posted @ 2015-01-22 16:39 libcan 阅读(1694) 评论(0) 推荐(1)
C++ 非阻塞套接字的使用 (2)
摘要:继续话题——软件中的异步非阻塞通讯方式。 由于软件基于MFC开发,所以实现异步通讯时使用了CAsyncSocket类。 首先要了解CAsyncSocket异步机制,引用自http://blog.csdn.net/tianhai110/article/details/2115270。 ... 阅读全文
posted @ 2015-01-22 12:38 libcan 阅读(576) 评论(0) 推荐(0)
C++ 非阻塞套接字的使用 (1)
摘要:在维护代码的过程中,发现软件运行的CPU占用率居高不下,在4核的电脑上占用了25%的CPU。查阅资料的得知,这是可能是由于软件中出现了死循环。经过对软件的一些测试,最终确定了死循环出现的位置——通讯的接受端。由于在通讯中,软件需要一直监听网络端口,接受可能到来的消息,所以采用了最简单的一种接收方式:... 阅读全文
posted @ 2015-01-21 14:47 libcan 阅读(1994) 评论(0) 推荐(0)