CppLive编程在线创建于今年五一,建站第一周被Google收录,第一周被百度收录,第一个月内陆续被腾讯搜搜、网易有道、Yahoo收录,第二个月顺利申请到Google Adsense。建博以来,基本上坚持每天一篇原创更新,Wordpress主题一直未曾改变,能够被各大搜索引擎(尤其是谷歌跟百度)及时收录,只有十月初的时候出于SEO的考虑,更改过文章的固定链接格式,将以前的文章做过302重定向,那时候百度第一次将CppLive编程在线拔光。 阅读全文
当我们的程序是单进程的时候,居如connect、read、accept、gethostbyname之类的网络API函数默认都是阻塞的,想实现connect、read、accept的非阻塞版本很容易,之需要将其调用的文件描述符(套接字)设置为非阻塞模式,然后交给select去捕捉返回结果即可。然而gethostbyname函数只需要传递一个域名作为参数,显然无法依靠设置文件描述符(套接字)的超时时间来让其在规定的时间内返回,如果指定域名存在DNS中存在且主机能够连上互联网还好,要是域名在DNS中不存在或者主机没有连上互联网,那样gethostbyname就会一直阻塞着整个进程直至到达系统超时时间,导致程序中的其他功能无法执行,显然代价是惨重的。那么有没有办法实现超时返回的gethostbyname函数呢?答案是肯定的。 阅读全文