用完成端口开发大响应规模的Winsock应用程序(4) (转)
用完成端口开发大响应规模的Winsock应用程序(4) (转)[@more@]接受连接请求 服务器要做的最普通的事情之一就是接受来自客户端的连接请求。在套接字上使用重叠I/O接受连接的惟一api就是AcceptEx()函数。有趣的是,通常的同步接受函数accept()的返回值是一个新的套接字,而AcceptEx()函数则需要另外一个套接字作为它的参数之一。这是因为AcceptEx()是一个重叠操作,所以你需要事先创建一个套接字(但不要绑定或连接它),并把这个套接字通过参数传给AcceptEx()。以下是一小段典型的使用AcceptEx()的伪代码: do { -等待上一个 AcceptEx
用完成端口开发大响应规模的Winsock应用程序(2) (转)
用完成端口开发大响应规模的Winsock应用程序(2) (转)[@more@]windows NT和Windows 2000的套接字架构 对于开发大响应规模的Winsock应用程序而言,对windows NT和Windows 2000的套接字架构有基本的了解是很有帮助的。 与其它类型操作系统不同,Windows NT和Windows 2000的传输协议没有一种风格像套接字那样的、可以和应用程序直接交谈的界面,而是采用了一种更为底层的api,叫做传输驱动程序界面(Transport driver Interface,TDI)。Winsock的核心模式驱动程序负责连接和缓冲区管理,以便向应用程序提供套接字仿真(在AFD.SYS文件中实现),同
使用resin中的心得 (转)
使用resin中的心得 (转)[@more@]----------------------------------------------------resin与IIS的绑定 预备: 在做此操作前,我的机器上已经安装了jdk1.4、IIS5、Resin-2.0.3,其中,IIS5中创建有80和81两个端口的web站点,81端口的WEB站点根目录位于E:DOCxingmu。而resin位于E:binresin-2.0.3,并使用resinbinhttpd.exe -install命令添加了一个resin的系统服务。 要求:将81端口的web站点与resin紧密绑定, 操作: 一、执行resinbinsetup,会copy一个isapi_srun.dl
当COM遇见.NET (转)
当COM遇见.NET (转)[@more@]当COM遇见.NET 荣耀 2002 技术进步是无法遏止的趋势,新老交替更是自然规律。随着新技术的来临,老技术即便不完全退出历史舞台,也将失去曾经拥有的主导地位。作为windows平台上主流组件技术COM,面对.NET,命运也是如此。 对于不同的开发人员来说,COM意味的东西也不一样。有些人因为领域所限,很少进行COM开发,而大多数开发人员和COM打了那么多的交道,一下子从COM转移到.NET,并不会是多么快速和自然。在新老技术转换过程中,阻力往往并不是来自于技术本身,而是技术的使用者。 &n
Google的技术剖析:创始人Sergey Brin 和 Lawrence Page的研究论文 (转)
Google的技术剖析:创始人Sergey Brin 和 Lawrence Page的研究论文 (转)[@more@] The Anatomy of a Large-ScaleHypertextual web Search Engine Sergey Brin and Lawrence Page {sergey, page}@cs.stanford.edu Computer Science Department, Stanford University, Stanford, CA 94305 Abstract In this paper, we present google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce muc
CEO施密特:Google最大挑战是控制增长 (转)
CEO施密特:Google最大挑战是控制增长 (转)[@more@]CEO施密特:google最大挑战是控制增长 2002/02/04-12:02 Unifytruth 大多数网民认为,搜索引擎Google有着简洁的界面、快速的搜索、与关键词高度相关的搜索结果。从某种意义上讲,Google首席执行官施密特可以说控制着互联网的地图。 大多数网民认为,搜索引擎Google有着简洁的界面、快速的搜索、与关键词高度相关的搜索结果。从某种意义上讲,Google首席执行官施密特可以说控制着互联网的地图。
替代System.Web.Mail的新类库(新增邮件列表功能) (转)
替代System.Web.Mail的新类库(新增邮件列表功能) (转)[@more@]类库....................ZXIT.COM.EMail.dll版本....................1.0.0.3发布日期................2002年3月1日授权方式................免费共享功能....................SMTP支持email格式...........纯文本、HTML编码方式................ASCII、BASE64中文编码................系统默认或用户设置是否支持验证............支持能否发送匿名信..........能能否发送附件............能,同时发送多个附件邮件列表................支持 [1.0.0.3] 1..............
用Delphi开发Web Services数据库程序 (转)
用Delphi开发Web Services数据库程序 (转)[@more@]第一步:编写服务器的应用程序 首先在Delphi的ide中选择”File|New|Other…”,然后在webservices页面中选择SOAp Server Application图标,如下图所示: .NET/develop/article/images/12651_1.jpg" align=absMiddle border=0> 然后在New Soap Server Application对话框中选择Web App Debugger executable,如下图所示: 点击OK按钮之后,Delphi会自动生成一个WebModule,在这个Module中会包含三个WebServices的控件,如下图所示: 然后然后在WebServic
加密算法源代码库 Encryption Source Code Base (转)
加密算法源代码库 Encryption Source Code Base (转)[@more@]Encryption source Code Base1. C/C++, asm 加密算法 DES 加密算法 .NET/crypto/des/des.h">DES.H ,DES.C ,KEY.C 超期服役 DES 算法变形 LIBDES,Tripledes,Ufc1, Ufc2 Ufc-crypt 比DES更安全 Blowfish 算法 Blowfish.c.gz,docs.gz, blowfish.new.gz schneier-blowfish.zip, bfa7.zip, ASPicr03.zip">aspicr03.zip Blowfish 工具 blowfish.tar.gz, boBlowfish11.zip bf-sdk11.zip, blowfish_advanced_drivers.zip Tea
CWinApp::SetRegistryKey (转)
CWinApp::SetRegistryKey (转)[@more@] CWinApp::SetRegistryKey void SetRegistryKey( LPCTSTR lpszRegistryKey ); void SetRegistryKey( UINT nIDRegistryKey ); 参数 lpszRegistryKey 字符串指针,包含了键的名字。 nIDRegistryKey 注册表中键的ID/索引。 注释 这个函数将应用程序的设置保存在注册表而不是INI文件中。这个函数设置m_pszRegistry Key,它被CWinApp的成员函数GetProfileInt,GetProfileString,WriteProfileInt和WriteProfileString使用。如果调用了这个函数,最近使用(MRU)的文件也被保存到注册表中
CWinApp::CWinApp (转)
CWinApp::CWinApp (转)[@more@] CWinApp::CWinApp CWinApp( LPCTSTR lpszAppName = NULL ); 参数 lpszAppName 一个以null结尾的字符串,其中包含了windows使用的应用程序的名字。如果没有提供这个参数,或者其值为NULL,CWinApp使用资源字符串AFX_IDS_APP_TITLE或可执行文件的文件名。 注释 构造一个CWinApp对象并将lpszAppName传递给它,当作应用程序的名字保存。你必须创建一个CWinApp派生类的全局对象。在你的应用程序中只能有一个CWinApp对象。构造函数保存了执行CWinApp对象的指针,因此WinMain可以调用对象的成员函数
C与C++中的异常处理17 (转)
C与C++中的异常处理17 (转)[@more@]1. C++异常和Visual C++ SEH的混合使用XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 我在Part2介绍了Structured Exception Handling(简称SEH)。在那时我就说过,SEH是window及其平台上的编译器专有的。它不是定义在ISO C++标准中的,使用它的程序将不能跨编译器移植。因为我注重于标准兼容和可移植性,所以我对将windows专有的SEH映射为ISO标准C++的exception handing(简称EH)很感兴趣。 同时,我不是SEH的专家。对它的了解绝大部分来自于
CWinApp::InitInstance (转)
CWinApp::InitInstance (转)[@more@] CWinApp::InitInstance virtual BOOL InitInstance( ); 返回值 如果初始化成功,则返回非零值;否则返回0。 注释 windows允许在同一时刻运行程序的几份拷贝。在概念上,应用程序的初始化可以被分为两个部分:一次性的应用程序初始化工作,这些在应用程序第一次运行时完成,以及实例的初始化工作,每次运行程序的一个拷贝时都会执行这些操作,包括第一次运行时。框架中WinMain实现调用这个函数。 重载InitInstance以初始化在Windows下运行的应用程序的每个新实例。通常,你重载InitInsta
C与C++中的异常处理16 (转)
C与C++中的异常处理16 (转)[@more@]1. 指导方针XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 根据读者们的建议,经过反思,我部分修正在Part14中申明的原则: l 只要可能,使用那些构造函数不抛异常的基类和成员子对象。 l 不要从你的构造函数中抛出任何异常。 这次,我将思考读者的意见,C++先知们的智慧,以及我自己的新的认识和提高。然后将它们转化为指导方针来阐明和引申那些最初的原则。 (关键字说明:我用“子对象”或“被包容对象”来表示数组中
C与C++中的异常处理15 (转)
C与C++中的异常处理15 (转)[@more@]1. 模板安全(续)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 在异常安全的第二部分,我讲了在构造函数和析构函数中导致资源泄漏的问题。这次将探索另外两个问题。并且以推荐读物列表结束。 1.1 Problem #2:get 上次,我定义X::get()为: T get() { return *value_; } 这个定义有点小小的不足。既然get()不改变wrapper对象,我应该将它申明为const成员的: T get() const { re
C与C++中的异常处理14 (转)
C与C++中的异常处理14 (转)[@more@]1. 模板安全XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 上次,我开始讨论异常安全。这次,我将探究模板安全。 模板根据参数的类型进行实例化。因为通常事先不知道其具体类型,所以也无法确切知道将在哪儿产生异常。你大概最期望的就是去发现可能在哪儿抛异常。这样的行为很具挑战性。 看一下这个简单的模板类: template <typename T> class wrapper { public: wrapper() { } T
C与C++中的异常处理12 (转)
C与C++中的异常处理12 (转)[@more@]1. unexpected()的实现上固有的限制XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 上次,我介绍了C++标准运行库函数unexpected(),并展示了Visual C++的实现版本中的限制。这次,我想展示所有unexpected()的实现上固有的限制,以及绕开它们的办法。 1.1 异常处理函数是全局的、通用的 我在上次简要地提过这点,再推广一点:过滤unexpected异常的异常处理函数unexpected()是全局的,对每个程序是唯一的。 所有unexpecte
C与C++中的异常处理13 (转)
C与C++中的异常处理13 (转)[@more@]1. 异常安全XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 接下来两次,我将讨论“异常安全”,C++标准中使用了(在auto_ptr中)却没有定义的术语。在C++范围内,不同的作者使用这个术语却表达不同的含义。在我的专题中,我从两个方面来定义“异常安全”: l 如果一个实体捕获或抛出一个异常,但仍然维持它公开保证的语义,它就是“接口安全”的。依赖于它保证的力度,实体可能不允许将任何异常漏给其用户。 l 如果异常没有导致资源泄漏
C与C++中的异常处理11 (转)
C与C++中的异常处理11 (转)[@more@]MG height=103 alt="C#,c sharp,C++,异常处理,异常处理机制" src="images/right.jpg" width=139> 欢迎访问编程开发资源网.我们为您收集了大量的精品编程质量.你可以按类别和标签的方式阅读. 友情链接 CSDN程序员 Unix中文网站 developerworks 电脑教程网
OICQ登录号码清除器实现原理 (转)
OICQ登录号码清除器实现原理 (转)[@more@]OICQ登录号码清除器实现原理 OICQ已经成为现在这个网络世界中最为时尚的聊天、即时通讯工具了!对于它,许多程序员都写了些相关小工具,像一些OICQ聊天辅助工具、OICQ密码获取器、聊天记录查看器等等,分别用作于不同的用途。其时,我也对于qq这个好东东比较痴迷,但在使用过程始终发现有些情况的出现是我所不愿意看到的。比如说:在网吧上网,疯狂QQ后,你的聊天记录,你的QQ号码全部留在了网吧的机器中。此时,你从网吧离开。又来一位聊QQ者,可能后来