自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 收藏
  • 关注

原创 4年了

故地重游,4年前的大二写的文章怎么那么傻呢。。。不过还是很想回到那个傻乎乎的时候。。╮(╯▽╰)╭

2009-09-13 12:20:00 1298

原创 对于I/O完成端口机制我的理解

研究了大概1天多的完成端口的文章、代码,刨了一下MSDN大概弄清楚了这个机制是怎么一回事。I/O完成端口是WinNT下的一个机制,看起来像是一个FIFO的消息队列。举个例子说,例如一个Winsock做的服务器(看作是工厂),主线程建立了一个完成端口(可以看作是一个流水线),然后建立了几个线程,几个线程同时用GetCompletionPortStatus()函数获取完成信息并阻塞自身(可以把线程看作

2005-03-27 01:40:00 3356 1

转载 UPnP为我们奉上了一道怎样的大餐

你听说过,未来的冰箱不仅可以冷冻食物,而且可以连接到Internet吗?或者,你可以在加热Pop-Tart的时候使用微波炉阅读电子邮件?什么?对你没有吸引力? 好,那么,让一个具有网络功能的闹钟提醒您不要忘记预定的约会,查看交通和天气信息,计算何时应该把你叫醒,或者在造成告诉你航班时刻,旅行目的地的信息以及何时应该出发等等,这些对你有吸引力吗?在去机场的路上,你具有UPnP功能的个人数字助理(PD

2005-03-21 15:01:00 1845

转载 什么是UPnP

问:什么是 UpnP? 答:通用即插即用 (UPnP) 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中。UPnP 以 Internet 标准和技术(例如 TCP/IP、HTTP 和 XML)为基础,使这样的设备彼此可自动连接和协同工作,从而使网络(尤其是家庭网络)对更多的人成为可能。 问:UPnP 对消费者意味着什么? 答:简单、更多选择和更新颖的体验。包含通

2005-03-21 14:58:00 2722

转载 可显示/隐藏左边控件的Splitter

有些软件中的splitter中间有一个按钮,点击后可显示/隐藏左边的控件,如WPS就是这样。在.NET中也自定义了一个。类代码:Public Class mySplitterPublic Shared Sub AddShowHideEvent(ByVal sl As Splitter)Dim lbl As New Labellbl.Text = "3"lbl.Font = New System.D

2005-03-12 16:00:00 1840

转载 大学四年应是这样度过——绝对转载

7李开复先生给中国学生的第四封信 今天,我回复了“开复学生网”开通以来的第1000个问题。关掉电脑后,始终有一封学生来信萦绕在我的脑海里,挥之不去:开复老师:就要毕业了。回头看自己所谓的大学生活,我想哭,不是因为离别,而是因为什么都没学到。我不知,简历该怎么写,若是以往我会让它空白。最大的收获也许是……对什么都没有的忍耐和适应……这封来信道出了不少大三、大四学生的心声。大学期间,有许多学生放任自己

2005-03-12 03:27:00 1277

转载 修炼一名程序员的职业水准(林庆忠__署名原创)

作者:林庆忠,1990年毕业于昆明工学院计算机软件专业,后又于1999年毕业在南京大学 完成软件工程专业硕士的学习,现供职于CNPC旗下的一个行业软件研发中心,因为在网上看了许多有经验的各路软件开发人员写的好帖,一时手痒兴起,也凑一篇壮壮声势。  假设你是一名软件专业毕业的本科学子,如何在工作中修炼成为一名有较高职业水准的程序员呢,本文试图总结作者从事15年软件开发工作的感想,希望对有志成为职业程

2005-03-12 03:23:00 1200

转载 2D游戏中的技能特效

    在我们的2D图形游戏中不可缺少大量的光影、技能特效,像Diablo II中的魔法效果的实现,幸好我们拥有强大的CPU来为我们实现Alpha混合与色彩饱和混合,接下来让我们来讨论一下如何用这些方法来实现我们游戏中所需要的技能特效。一、Alpha混合特效    Alpha混合可以让我们让我们将一张图象按一定程度的比例与另一张图象进行混合(如图1),但普通的Alpha混合并不适合游戏中的技能特效

2005-02-26 01:45:00 1974

原创 按钮类基本完成。

嗯……这个按钮类还算是OK了。再有今天下午停电,重新拿回了那本介绍VESA VBE的看了看ASM那些。。觉得学ASM真的非常非常重要啊~~特别是优化程序的速度。要是我学会了ASM,那就能自己写RLEBlt,加速Addtive,alpha,grayblt……如果用C++代码写的话,我想速度真的无法想象了。下一步,CScrollCtrl, CListCtrl, CInputCtrl。 Input的难点

2005-02-26 01:41:00 1568

转载 几种常用的像素混合方法

  前两天为大家介绍了处理透明光影效果的 Alpha-Blending 技术,今次我将再为大家介绍其它几种常用的像素混合方法,这些方法一般在游戏中被用来处理光影效果。『Alpha-Blending』  前次已经说了,所谓 Alpha-Blending,其实就是按照“Alpha”混合向量的值来混合源像素和目标像素,一般用来处理半透明效果。『Additive-Blending』  至于 Additiv

2005-02-25 18:25:00 1711

转载 将RGB值转换为灰度值的简单算法

  使场景或精灵以灰度的形式显示,这是一般游戏制作中常常用到的效果,如:战棋游戏中当一个角色被使用过后,通常就会变成灰色,代表本回合已不能行动了;《仙剑》中回忆彩蝶的部分是用整屏的灰色来表现的?(记的不太清楚,太久了^_^);还有很多很多例子……  将RGB值转换为灰度的过程应该是在程序中实现的(至少我是这么认为的)。其实这是非常简单的,基本原理就是将一个点的RGB值分开来求和,然后除以3,把得到

2005-02-25 17:17:00 2371

原创 一次读取大Size Jpeg图的测试

由于TSOnline采用的是一个Jpeg图作为一个场景的设计,所以当场景比较大的时候,Jpeg图也会相应的比较大。因此做个测试看看读取Jpeg图的大小时间怎么样。壶关沙漠地图场景图片大小:2496 x 1920文件大小:868KB读取时间:3266 ms火盘古地图场景图片大小:1664 x 1280文件大小:367KB读取时间:1569 ms公共军团建设场景图片大小:1600 x 1600文件大小

2005-02-24 23:23:00 1544

转载 手把手教你玩转SOCKET模型之重叠I/O篇(下)

四。     实现重叠模型的步骤作了这么多的准备工作,费了这么多的笔墨,我们终于可以开始着手编码了。其实慢慢的你就会明白,要想透析重叠结构的内部原理也许是要费点功夫,但是只是学会如何来使用它,却是真的不难,唯一需要理清思路的地方就是和大量的客户端交互的情况下,我们得到事件通知以后,如何得知是哪一个重叠操作完成了,继而知道究竟该对哪一个套接字进行处理,应该去哪个缓冲区中的取得数据,everyth

2005-02-24 15:18:00 1494

转载 手把手教你玩转SOCKET模型之重叠I/O篇(上)

手把手教你玩转SOCKET模型之重叠I/O篇 “身为一个初学者,时常能体味到初学者入门的艰辛,所以总是想抽空作点什么来尽我所能的帮助那些需要帮助的人。我也希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯付出时的吝啬。”                                                                

2005-02-24 15:16:00 1276

转载 手把手教你玩转ARP包(完)【数据包的游戏系列之一】

作者:   CSDN  VC/MFC 网络编程 PiggyXP  ^_^ 本篇目录:     四。ARP包的游戏      1 .   小伎俩      2.    ARP欺骗的实现      3.   基于ARP欺骗的监听原理  四.ARP包的游戏既然我们可以自己来填充数据包,那么来玩些ARP的“小游戏”欺骗就是易如反掌了,当然,是在没有安

2005-02-24 15:11:00 1362

转载 手把手教你玩转ARP包(三)【数据包的游戏系列之一】

作者:CSDN  VC/MFC 网络编程 PiggyXP  ^_^   目录: 二。发送数据包的编程实现   1.  填充数据包   2.  发送数据包三。一些附加步骤及说明   1.  如果在VC中使用winpcap   2.  获得网卡信息列表   3.  获得系统ARP信息列表          ................紧接上文..

2005-02-24 15:09:00 1326

转载 手把手教你玩转ARP包(二)【数据包的游戏系列之一】

  作者:   CSDN  VC/MFC 网络编程 PiggyXP  ^_^   目录:     一.    关于ARP协议的基础知识     3. ARP包的填充二。发送数据包的编程实现   1.填充数据包 .........................紧接上文............................ 3.ARP包的填充1) 请

2005-02-24 15:08:00 1238

转载 手把手教你玩转ARP包(一)【数据包的游戏系列之一】

前   言          首先要感谢网络安全资深专家卢湖川博士以及VC网络版的limin朋友提供的资料以及帮助^_^经常看到论坛有人问起关于数据包的截获、分析等问题,幸好本人也对此略有所知,所以就想写一系列的文章来详细深入的探讨关于数据包的知识,,我希望通过这一系列的文章,能使得关于数据包的知识得以普及,所以这系列的每一篇文章我都会有由浅入深的解释、详细的分析、以及编码步骤,另外附上带

2005-02-24 15:07:00 1381

转载 点阵图和Bitblt

点阵图是一个二维的位元阵列,它与图像的图素一一对应。当现实世界的图像被扫描成点阵图以後,图像被分割成网格,并以图素作为取样单位。在点阵图中的每个图素值指明了一个单位网格内图像的平均颜色。单色点阵图每个图素只需要一位元,灰色或彩色点阵图中每个图素需要多个位元。点阵图代表了Windows程式内储存图像资讯的两种方法之一。储存图像资讯的另一种形式是metafile,我将在第十八章讨论。Metafile储

2005-02-23 23:13:00 7622

转载 与装置无关的点阵图

在上一章我们了解到Windows GDI点阵图物件(也称为与装置相关的点阵图,或DDB)有许多程式设计用途。但是我并没有展示把这些点阵图储存到磁片档案或把它们载入记忆体的方法。这是以前在Windows中使用的方法,现在根本不用了。因为点阵图的位元格式相当依赖於设备,所以DDB不适用於图像交换。DDB内没有色彩对照表来指定点阵图的位与色彩之间的联系。DDB只有在Windows开机到关机的生命期内被建

2005-02-23 23:11:00 3274

转载 异步IO、APC、IO完成端口、线程池与高性能服务器 (五)

 转载: http://www.vchelp.net/原作者姓名 Fang([email protected]) 正文异步IO、APC、IO完成端口、线程池与高性能服务器之五 服务器的性能指标与实现高性能的途径服务器的性能指标    作为一个网络服务器程序,性能永远是第一位的指标。性能可以这样定义:在给定的硬件条件和时间里,能够处理的任务量。能够最大限度地利用硬件性能的服务器设计才是良

2005-02-23 21:24:00 1373

转载 异步IO、APC、IO完成端口、线程池与高性能服务器 (四)

转载: http://www.vchelp.net/原作者姓名 Fang([email protected]) 正文异步IO、APC、IO完成端口、线程池与高性能服务器之四 线程池线程池下面摘抄于MSDN《Thread Pooling》。有许多应用程序创建的线程花费了大量时间在睡眠状态来等待事件的发生。还有一些线程进入睡眠状态后定期被唤醒以轮询工作方式来改变或者更新状态信息。线程池可以让你

2005-02-23 21:23:00 1289

转载 异步IO、APC、IO完成端口、线程池与高性能服务器 (三)

转载: http://www.vchelp.net/原作者姓名 Fang([email protected]) 正文异步IO、APC、IO完成端口、线程池与高性能服务器之三 IO完成端口IO完成端口下面摘抄于MSDN《I/O Completion Ports》,smallfool翻译,原文请参考CSDN文档中心文章《I/O Completion Ports》, http://dev.csd

2005-02-23 21:22:00 1329

转载 异步IO、APC、IO完成端口、线程池与高性能服务器 (二)

转载: http://www.vchelp.net/原作者姓名 Fang([email protected]) 正文异步IO、APC、IO完成端口、线程池与高性能服务器之二 APC    Alertable IO(告警IO)提供了更有效的异步通知形式。ReadFileEx / WriteFileEx在发出IO请求的同时,提供一个回调函数(APC过程),当IO请求完成后,一旦线程进入可告警状

2005-02-23 21:19:00 1236

转载 异步IO、APC、IO完成端口、线程池与高性能服务器 (一)

转载: http://www.vchelp.net/原作者姓名 Fang([email protected]) 正文异步IO、APC、IO完成端口、线程池与高性能服务器之一 异步IO背景:轮询 PIO DMA 中断    早期IO设备的速度与CPU相比,还不是太悬殊。CPU定时轮询一遍IO设备,看看有无处理要求,有则加以处理,完成后返回继续工作。至今,软盘驱动器还保留着这种轮询工作方式。 

2005-02-23 21:18:00 1222

原创 色深的一次测试。

由于我的机器不支持32Bit色深,因此特邀wwcbug同学帮忙做个测试。结果如下:窗口颜色   显示模式   表现-------------------------------------------------------------------------16Bit色深  窗口模式    鼠标设置关键色成功,Jpeg图贴图失败(无详细出错消息)24Bit色深  全屏模式    Crash (

2005-02-23 20:26:00 2540 2

转载 调色盘管理器

如果硬体允许,本章就没有存在的必要。尽管许多现代的显示卡提供24位元颜色(也称「true color」或「数百万色」)或16位元颜色(「增强色」或「数万种颜色」),一些显示卡-尤其是在携带型电脑上或高解析度模式中-每个图素只允许8位元。这意味著仅有256种颜色。我们用256种颜色能做什么呢?很明显,要显示真实世界的图像,仅16种颜色是不够的,至少要使用数千或数百万种颜色,256种颜色位於中间状态。

2005-02-23 19:43:00 3330 1

转载 文字和字体

显示文字是本书所要解决的首要问题,现在我们来研究Microsoft Windows中各种有效字体和字体大小的使用方法以及调整文字的方式。Windows 3.1发表的TrueType使程式写作者和使用者以灵活的方式处理文字的能力大幅增强。TrueType是轮廓字体技术,由Apple Computer公司和Microsoft公司开发,并被许多字体制造商支援。由於TrueType字体能够连续缩放,并能应

2005-02-23 19:41:00 5217

转载 DrawText API.

2.2 在窗口中输出文字在这里我假定读者已经利用ApplicationWizard生成了一个SDI界面的程序代码。接下来的你只需要在CView派生类的OnDraw成员函数中加入绘图代码就可以了。在这里我需要解释一下OnDraw函数的作用,OnDraw函数会在窗口需要重绘时自动被调用,传入的参数CDC* pDC对应的就是DC环境。使用OnDraw的优点就在于在你使用打印功能的时候

2005-02-23 18:43:00 2707

转载 Loading JPEGs to DirectDraw Surfaces

载入JPGE图象文件到DirectDraw的表面中 Loading JPEGs to DirectDraw Surfaces 载入JPGE图象文件到DirectDraw的表面中by Johnny Wood译: sea_bug译者的话:这是一篇关于使用Intel JPGEs Library的文章,在翻译的

2005-02-23 15:14:00 1566 1

原创 先做Jpeg读取的部分~~

查找了一点Intel Jpeg Library的资料,觉得做起来也比较简单的。就先做Jpeg读取好了。。。然后看看TSOnline的目录下面,哈哈~~ijl15.dll,也是用了Intel Jpeg Library,其他还有盛大营运的泡泡堂,仙境传说,都有用到IJL。我觉得我正在逐步的发现TSOnline这个网游的的秘密,这个过程实在太有趣了。也许有一天,我就能把这个网游完完整整的科隆一次下来

2005-02-23 15:13:00 1404

转载 小谈Online-game服务器端设计

  谈这个话题之前,首先要让大家知道,什么是服务器。在网络游戏中,服务器所扮演的角色是同步,广播和服务器主动的一些行为,比如说天气,NPC AI之类的,之所以现在的很多网络游戏服务器都需要负担一些游戏逻辑上的运算是因为为了防止客户端的作弊行为。了解到这一点,那么本系列的文章将分为两部分来谈谈网络游戏服务器的设计,一部分是讲如何做好服务器的网络连接,同步,广播以及NPC的设置,另一部分则将着重谈谈哪

2005-02-23 04:46:00 1762

原创 模仿Windows的消息驱动机制获得了成功

模仿Windows的消息驱动机制,管理窗口,用回调函数处理事件,已经获得了成功。现在在UI方面,窗口已经可以实现拖拽、激活焦点、失去焦点等等特性,而且还能设置回调函数对消息进行相应的处理,消息用的完全是Windows标准WM消息,而且参数也是两个wParam和lParam,当然了,消息我只是用了很少的几个,为的是节省定义的时间和符合使用习惯。参数是自己定义的。按照这个基本框架,游戏的UI方面已经没

2005-02-23 04:28:00 1697

转载 五种WinSock I/O模型的特点及比较

======    select  模型:                                    select模型是WinSock中应用最广泛的模型之一,核心就是select函数,它可用于         判断套接字上是否存在数据,或者能否向一个套接字写入数据。                 这个函数可以有效地防止应用程序在套接字处于阻塞模式中时,send或recv进入     

2005-02-22 22:49:00 3874

转载 完成端口重叠I/O模型的服务器中,存储和管理数万个socket句柄

完成端口重叠I/O模型的服务器中,如何存储和管理数万个socket句柄  ---------------------------------------------------------------   链表吧,,要么HASH链表,hehe..  ---------------------------------------------------------------   根本就不可能建立几

2005-02-22 22:47:00 2217

转载 完成端口代码

//采用完成端口的代理服务器原型代码  http://www.vckbase.com/code/listcode.asp?mclsid=9&sclsid=901   ---------------------------------------------------------------   http://www.vctop.com/View.Asp?ID=484&CateID=1  ----

2005-02-22 22:39:00 2223 2

转载 理解I/O Completion Port

  欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术:  I/O端口  同步/异步  堵塞/非堵塞  服务端/客户端  多线程程序设计  Winsock API 2.0  在这之前,我曾经开发过一

2005-02-22 22:36:00 1287

原创 窗体对消息的响应

对于鼠标的状态,我专门用了一个全局的变量存放,变量结构体如下: static struct MOUSE_EVENT_STRUCT {  // 缓冲状态  BOOL DblClicked;     // 有效双击次数  BOOL LButtonWasUp;   // 左键曾经松开  BOOL RButtonWasUp;   // 右键曾经松开  BOOL LButtonWasDown; // 左键曾

2005-02-22 18:57:00 1462

原创 Class们的分工合作安排,消息的传递。

现在,有了CCursor类,有了CDesktop类,要开始考虑它们的合作问题了。首先我的基本想法是从CCursor类得到鼠标的事件信息,把按钮状态、指针位置的信息传递给CDesktop,CDesktop根据相应的消息,执行指定的命令。CDesktop类保存的桌面数据:当前焦点窗口:一个CWin*指针,处于最上方的窗口。当前焦点控件:一个CWin*指针,当前激活窗口用有焦点的控件。当前鼠标指针状态:

2005-02-21 23:31:00 1238

原创 CDesktop类的开工~

CDesktop类负责处理窗口们。当一个窗口CreateWin以后,再在Window上面Add一些Control,把它Add到CDesktop里面就算完事了。当然在Add之前可以酌情保留其指针方便控制,也可以用CDesktop类的FindWindow()函数查找指定Name的Window,返回其指针再对其操作。而绘制桌面窗口的时候只需把desktop变量的指针传递给CGraph的RenderDes

2005-02-21 19:11:00 1385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除