Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1002103
  • 博文数量: 177
  • 博客积分: 3629
  • 博客等级: 中校
  • 技术积分: 1839
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-23 21:21
文章分类

全部博文(177)

文章存档

2021年(1)

2020年(5)

2019年(4)

2018年(7)

2017年(1)

2016年(4)

2014年(1)

2013年(8)

2012年(10)

2011年(50)

2009年(12)

2008年(10)

2006年(56)

2005年(8)

分类: WINDOWS

2006-03-18 23:50:33

来源:
偶的平台:windows/vc6
 
安装:
因为这个库需要STLPort,VC6上安装STLPort4.6的文章多了.此处略过.
如果要用到HTTPS还要安装SSL.偶安的版本是openssl-0.9.8a.
 
此库函数的源文件包中分别为DEVC++,VC,GCC三种环境提供了方便的编译方法,在VC6中打开Project文件夹中的工程文件,BUILD就行了.在lib文件中找到lib文件,偶Debug/Release都编译了.在Project文件夹中找到include目录,然后放到合适位置,并在VC6的include/lib路径中加上就OK了.
 
有几点注意事项:
1 编译程序时别忘了加上相应的库文件,否则出现LNK2001错误.还有openssl的库文件,共三个: libeay32.lib ssleay32.lib Sockets.lib (openssl的DLL文件可以复制到相关目录)
2 编译选项必须选多线程C运行库.(/MT /MD)
3 还有由于用了STLPort,总容易出现C4786错误,是VC的一BUG.用
#pragma warning (disable,4786)
禁止也不行,MS说了这是一BUG,VC7中解决,6别想了.(见)
 
4 还有一点需要注意:在proprocessor definitions里要加上HAVE_OPENSSL,否则link不通过.
 
用了这个库,编码可以如下:
//one
SocketHandler h;
MyTcpSocket mine(h);
 
//two
mine.Open("172.16.2.2",80);
h.Add(&mine);
 
//tree 
 h.Select(1,0);
 while (h.GetCount())
 {
  h.Select(1,0);
 }
 
第三部分基本上一样,关键是在偶的类中继承一些封装类,定义一些回调方法,如OnConnect(),OnRead(),OnWrite()之类.好象2.0变化不小,如OnConnect怎么调用的比以前晚了?这个工程在不断更新,希望能做的更好.
 
纯粹是一封装API的类库,不过用了STL,又是面向对象的设计,还是C++语言哦,对于偶这样的懒人还是有用的.比什么MFC好看多了.又可以学习面向对象,呵呵,偶外行的很.高手就不用看了.
 
 
阅读(4743) | 评论(5) | 转发(0) |
给主人留下些什么吧!~~

logens2013-10-17 11:38:00

我也正在用这个库,就是不知道怎么修正为多线程的处理

answen2011-04-15 14:09:14

我编译project 的时候碰到很多编译错误。类似 snprintf_s的问题,如何解决~