用WINSOCK API实现同步阻塞方式的网络通讯

来源:互联网 发布:尤伦斯艺术商店淘宝 编辑:程序博客网 时间:2024/06/10 12:23

 在VB中进行网络通讯时,一般都爱使用Winsock控件,但此控件有两点缺点,一是需要一个窗口(当然也可以修改vbp文件,实现无窗口加载Winsock控件),二是通讯方式为异步非阻塞的,对于某些基于应答式的协议来说,比如HTTP、POP3、SMPT等,使用阻塞方式往往要方便得多,而且代码流程也清晰得多,增强了可读性,更不用说灵活性了(比如超时设置、缓冲区设置等)。虽然网络上有一些使用API编写的通讯类,但大类使用了WSAAsyncSelect方式,完全是Winsock的API版本,根本没啥意义,而且有的代码还不能很好地运行,为此,我使用API基于SELECT方式编写了一个同步阻塞方式的客户端通讯类,用来处理应答式网络协议,在实际工作中,取得了很好的效果,现将代码公布如下: