socket编程,要做的质量稳定可靠,对市场上90%的开发人员来说,是一项难度极高的工作,它要求对C/C++中的多线程、各种锁、事件等机制应用非常熟练,同时对socket中的阻塞,尤其是非阻塞机制非常熟悉,尤其需要几年的亲身实战经验。要做好socket开发,需要至少5年的开发经验,否则开发出的socket通信程序一定是质量不稳定、多条连接之间相互影响、通信偶尔停顿、甚至是莫名其妙死掉等严重问题,用户体验差,很多失败的项目原因都在此处。如果socket开发经验不足,不如直接使用别人封装好的socket封装类,站在巨人的肩膀上,开发出的软件质量有保证。本文就简要介绍waisock这一个socket封装类。
waisock是socket编程中一个非常优秀的封装类,稳定可靠,经过很多年的发展,并经过了多个项目的实践检验,而且性能卓越,每秒可以收发近100万个包。可以同时既作为socket的服务端,又作为socket的客户端使用,而且还同时支持SSL连接。核心函数只有8个,分为两类。
第一类是控制主程序的运行类,共四个函数,分别是:
WaiSock_Create() -- 初始化,生成句柄。
WaiSock_Run() -- 使用生成的句柄,启动程序的主流程执行。根据所带参数的不同,该函数可以以阻塞的方式运行,也可以启动一个线程并在线程中单独运行。
WaiSock_StopIt() -- 发送通知,以停止主流程或线程的执行,为退出前做准备。
WaiSock_Destroy() -- 释放句柄内存,退出。
以上四个函数,是waisock类的控制主流程,程序员