- 博客(15)
- 资源 (5)
- 收藏
- 关注
原创 WaitForSingleObject 和 EnterCriticalSection 效率比较
Microsoft Windows 平台中两种最常用的锁定方法为 WaitForSingleObject 和 EnterCriticalSection。WaitForSingleObject 是一个过载 Microsoft API,可用于检查和修改许多不同对象(如事件、作业、互斥体、进程、信号、线程或计时器)的状态。WaitForSingleObject 的一个不足之处是它会始终获取内核的锁定,因
2009-07-15 16:59:00 2370
原创 研究飞鸽传书
飞鸽传书在局域网中传文件实在太方便了,今天不知道哪根筋出问题,想来模拟一下.于是直接动手.飞鸽的架构其实不难,说实在的很容易看出来.但是就是这个很容易,让我吃了苦. 第一次我的想法采用异步事件加上upd组播.这个代码不难,当我做完了测试嗅探其他计算机的时候,upd组播的消息竟然不会让事件受信.绑定的地址是本机地址,但是受信的地址却是upd组播的地址.于是这样的想法直接被打消了.但是
2009-07-15 14:29:00 1552 2
原创 WinSocket模型的探讨——完成端口模型
众所皆知,完成端口是在WINDOWS平台下效率最高,扩展性最好的IO模型,特别针对于WINSOCK的海量连接时,更能显示出其威力。其实建立一个完成端口的服务器也很简单,只要注意几个函数,了解一下关键的步骤也就行了。这是篇完成端口入门级的文章,分为以下几步来说明完成端口: 函数 常见问题以及解答 步骤 例程 1、函数:我们在完成端口模型下会使用到的最重要的两个函数
2009-07-14 14:18:00 1015
原创 WSARecv参数lpNumberOfBytesRecvd的一个变态问题
这个函数干嘛的我就不多说了,搞winsock编程的都认识它!我在使用这个函数时,按照MSDN上的描述,将lpNumberOfBytesRecvd设定成了NULL,因为咱是IOCP嘛,照MSDN的说法,如果LPWSAOVERLAPPED不为NULL,那么这个参数可以设定为NULL。我也就这样使用了,程序跑起来,测试也正常,但是有些情况下不稳定,我这可是服务器啊,任何问题都必须被消灭,于是开始De
2009-07-13 01:26:00 1015 1
原创 IOCP加Windows线程池打造高伸缩性高性能的服务器应用
对于IOCP,搞Windows服务器编程的都不会陌生,它所表现出来的性能是其他各种WinSock模型难望其项背的。撰写本文的目的就是为让大家能够在深入理解IOCP的基础上,再来深入的挖掘Windows系统的性能。此处假设读者对IOCP模型已经深刻理解,并对Windows线程、线程池有一定的了解。如果对此还不熟悉,限于篇幅的原因,请您先学习理解这些内容后再来阅读本文。 在I
2009-07-13 01:24:00 1115
原创 [精华] 讨论 Setsockopt选项
有时候我们要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要控制套接字的选项了. 以下资料均从网上收集得到 getsockopt 和 setsockopt 获得套接口选项: int getsockopt ( int sockfd, int level, int optname, void * optval, socklen_t *opteln ) 设置套接口选项: int s
2009-07-11 16:47:00 802
原创 一个简单的完成端口(服务端/客户端)类
一个简单的完成端口(服务端/客户端)类作者:spinoza翻译:麦子芽儿, POWERCPP(后面部分内容) 下载源代码原文网址:http://www.codeproject.com/KB/IP/iocp_server_client.aspx源码使用了高级的完成端口(IOCP)技术,该技术可以有效地服务于多客户端。本文提出了一些IOCP编程中出现的实际问题的解决方法,并提供了一个简单的echo
2009-07-11 00:02:00 2051
原创 小心使用IOCP完成端口
s = createsocket(); //假定s返回值是10CreateIoCompletionPort(s, m_hCompletionPort, (DWORD_PTR)&A, 0);WSASend(s,...);WSASend(s,...);WSASend(s,...);WSASend(s,...);WSASend(s,...);这个时候,完成端口里累计了多
2009-07-10 23:09:00 1133
原创 最简单的jQuery程序
用jQuery写的一个简单的程序,用于入门练习,发给大家,希望初学者有用..css1{display:block;width:100px;height:100px;background-color:blue;}.css2{display:block;width:100px;height:100px;background-color:red;}tt$(document).ready(
2009-07-09 16:52:00 1287 1
原创 统一归档助企业撑起信息的保护伞
文档管理、邮件归档乍看起来并不重要,但只要企业应用到电子邮件系统,就会需要它帮助企业撑起一把信息的保护伞。电子邮件系统已经成为企业业务中依赖程度最高的系统之一。据国外统计数据显示,有75%的知识产权诉讼涉及到电子邮件,79%的被调查者将电子邮件作为交易的书面确认方式。是不是所有的邮件都具有同样价值?答案是令人沮丧的——超过75%的邮件与工作不相关,甚至是垃圾邮件。因此,当用户需要搜索一
2009-07-09 16:21:00 1094
转载 细谈Web框架设计与实现
在j2ee项目工程中合理的使用web框架能有效提高工作效率,增强程序的可维护型和可扩展性。目前比较流行的是基于mvc模式的struts结构,但在开源项目的宝库中,除了struts外,还有其他许多独具匠心、性能优异的框架结构,如Maverick WebWork Spring Tapestry Turbine等,存在自有存在的理由和价值,只有了解了其他框架的设计思想和性能特色,才能在项目实践中根据客户
2009-07-07 10:36:00 1355
原创 Transact-SQL数据类型(文本/图形/日期和时间/货币/特定类型)
4.2.6 文本和图形数据类型文本和图形数据类型是用于存储大量的非Unicode和Unicode字符以及二进制数据的固定长度和可变长度数据类型,包括text型、ntext型和image型。l text型是用于存储大量非Unicode文本数据的可变长度数据类型,其容量理论上为231-1(2 147 483 647)个字节。在实际应用时需要视硬盘的存储空间
2009-07-03 19:59:00 1163
原创 OleDbDataAdapter 插入记录
DataSet 中所作的更改发回数据源。 当 OleDbDataAdapter 填充 DataSet 时,它将为返回的数据创建适当的表和列(如果它们尚不存在)。但是,除非 MissingSchemaAction 属性设置为 AddWithKey,否则这个隐式创建的架构中不包括主键信息。也可以使用 FillSchema,让 OleDbDataAdapter 创建 DataSet 的架构,并在用
2009-07-03 15:56:00 1862
原创 MFC使用GDI+编程设置
VC2005“项目/*属性”菜单项,打开项目的属性页窗口,先选“所有配置”,再选“配置属性/链接器/输入”项,在右边上部的“附加依赖项”栏的右边,键入GdiPlus.lib 后按“应用”钮,最后按“确定”钮关闭对话框。在需要用到GDI+的文件头加上下面两句#include using namespace Gdiplus;在应用程序类应用程序类(CGDIPlusDemoApp) 头文件中声明
2009-07-01 23:56:00 1305 1
原创 在 VC6 中使用 GdiPlus-安装
安装三部曲:Step1:下载 GdiPlus SDK 文件包;链接地址1:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip链接地址2:http://www.codersource.net/samples/mfcgdiplus.zipStep2:安装;(1)头(GdiPlus*.h)文件安装目录:C:/Program Files/Micros
2009-07-01 23:30:00 1603
小发猫AI+原创度检测v.2.6.zip
2021-05-13
小发猫伪原创工具.zip
2019-08-09
XEIM|XEIM飞鸽传书
2010-08-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人