- 博客(12)
- 资源 (25)
- 收藏
- 关注
转载 套接字I/O模型之WSAEventSelect
今天我又学习了一种新的套接字I/O模型------WSAEventSelect,他与WSAAsyncSelect一样也是一种异步事件通知模型,不同的是WSAAsyncSelect是与窗口句柄关联在一起的,必须要要窗口才行,而WSAEventSelect是与事件对象关联的。这个模型的基本思路是为感兴趣的一组网络事件创建一个事件对象,再调用WSAEventSelect函数将网络事件和事件对象关联起来。
2012-12-31 01:26:13 543
转载 WSAEventSelect模型编程
WSAEventSelect模型编程这个模型是一个简单的异步事件模型,使用起来比较方便,现在说一下其的具体的用法和需要注意的地方。一,模型的例程(服务端):先举一个王艳平网络通信上的例子://////////////////////////////////////////////////// WSAEventSelect文件#include "initsock.h"#i
2012-12-31 01:22:58 526
转载 WSAEventSelect模型
//The WSACreateEvent function creates a new event object.WSAEVENT WSACreateEvent(void);//The WSAEventSelect function specifies an event object to be associated with the specified set of FD_XXX netw
2012-12-31 01:22:14 451
转载 探究WSAEventSelect模型
WSAEventSelect模型也是I/O模型中较为常用的一个异步模型,它也允许应用程序在一个或多个套接字上,接收以事件为基础的网络事件通知。该模型最主要是将网络事件投递至一个事件对象句柄。 事件通知 事件通知模型要求我们的应用程序针对打算使用的每一个套接字,首先创建一个事件对象。创建方法是调用WSACreateEvent函数,它的定义如下: WSAEVENT WSACreat
2012-12-31 01:20:49 584 3
转载 VC 获取控制台窗口的句柄(hWnd)
测试环境:VC++ 6.0在Windows中,句柄是一个系统内部数据结构的引用。例如当你操作一个窗口,或说是一个Delphi窗体时,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口极小化为图标等。实际上许多Windows API函数把句柄作为它的第一个参数,如GDI(图形设备接口)句柄、菜单句
2012-12-23 23:41:12 1575
转载 如何获取控制台窗口句柄 (HWND)
它可能有用操作与一个控制台应用程序相关联的一个窗口。 Win32 API 提供用于获取与控制台应用程序相关联的窗口句柄没有直接方法。 但是,您可以获取窗口句柄,通过调用 FindWindow()。 此函数检索窗口句柄基于类名或窗口名称。 调用以确定当前的控制台标题 GetConsoleTitle()。 然后提供当前的控制台标题,以 FindWindow()。因为多个窗口可能具有相同的标
2012-12-23 23:15:18 2315
转载 获取控制台窗口的句柄
窗口,都有其唯一的句柄(hWnd)。得到了窗口句柄,能够做很多事情。控制台程序,若能在窗口效果上下文章,那么这个第三方工具将会很成功。网上给出的常用方法:HWND hw=FindWindow("ConsoleWindowClass",NULL);这不失为一个好方法,但是单从Class方面入手保险度不高。API函数FindWindow有两个参数,类名与窗口标题。当不提供窗口标题的时候
2012-12-23 23:13:19 1318 1
转载 让程序在崩溃时体面的退出之Dump文件
在我的那篇《让程序在崩溃时体面的退出之CallStack》中提供了一个在程序崩溃时得到CallStack的方法。可是要想得到CallStack,必须有pdb文件的支持。但是一般情况下,发布出去的程序都是Release版本的,都不会附带pdb文件。那么我们怎么能在程序崩溃的时候找到出错的具体位置呢?这个时候就该Dump文件出场了!Dump文件是进程的内存镜像,可以把程序运行时的状态完整的保存下来。
2012-12-21 23:39:42 420
转载 GetPrivateProfileString
本实例主要实现使用 INI 文件对软件的用户信息进行注册的功能。运行本程序,输入登录名称、登录口令和注册码,单击“注册”按钮进行注册,如果注册成功,则给出提示;如果信息已注册,系统给出提示信息本实例实现时主要用到了系统API函数 GetPrivateProfileString 和WritePrivateProfileString,下面分别对它们进行详细讲解。 (1)GetPriva
2012-12-20 00:06:22 1471
转载 C++ Timer定时器
什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了。让我们先来看看SetTimer函数的原型: UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD))当使用SetTimer函数的时候,就
2012-12-12 23:36:02 10671 1
转载 __FILE__,__LINE__
前言:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。比如,定义一个宏开关:#de
2012-12-12 23:20:56 397
转载 assert()函数用法总结
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.
2012-12-03 23:20:21 402
Visual-Assist-X-10.9-Build-2366_支持vs2019.rar
2020-12-01
Unity Magica Cloth.1.7.0.7z
2020-12-01
Unity Easy Movie Texture Video Texture v3.72
2020-12-01
FalagardSkinning
2011-10-18
FalagardSkinning.pdf
2011-10-18
nFringeSetup1.16+config
2010-12-23
计算机学科专业基础综合复习指南(数据结构部分)
2010-10-01
Oracle11gPLSQLProgramming
2010-05-30
C#编写的远程监控程序源码
2010-04-16
C#聊天软件带浏览器源码(毕业设计)
2010-04-09
C#聊天程序源码(网络编程)
2010-04-08
igoogle网站源码
2010-04-07
C# API精灵 助手 函数查询
2010-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人