- 博客(125)
- 资源 (5)
- 收藏
- 关注
原创 网络整理---组网及网络通信
广播式网络是网络中的一台计算机发送消息...网内的所有计算机都可以收到数据..而我是这么理解的,网络上仅有一条信道,所有的主机都共享信道,所有有消息出现时,所有的主机都会收到这条消息,然后筛选。 向某台主机发送信息就如在公共场所喊人:“老王,有你的 信!”在场的人都会听到,而只有老王本人会答应,其余的人仍旧做自己的事情。发往指定地点的信息(报文)将按一定的原则分成组或包(packet
2013-08-20 00:25:58 1564
转载 QQ是怎么实现通讯的
Q:我们上网一般使用的内网的IP地址,没有外网固IP,而UDP通信是需要IP地址的,那么既然不知道对方的IP地址,QQ是怎么实现两个点之间的通信的呢? A: 这个我最熟悉啦·UDP通信需要2个条件, 对方机器的IP地址,和接受消息的端口号. QQ 是怎么做到的呢? 其实很简单,我们下载的都是 QQ客户端, 腾讯保留着QQ服务端。并且这个服务端是24小时开启的, 那么我们好友之间是如
2013-08-10 18:04:36 5151
转载 创建线程后为什么关闭了线程句柄,线程还是可以运行?
主线程只要拥有线程句柄,事后就可以对线程执行某些操作,比如查询线程状态等等,靠的就是句柄,如果没有句柄,系统就无从知道要查的是那个线程的状态。但保持这个句柄不关闭,并不是线程运行的条件。关闭线程句柄只是释放句柄资源,新开启线程后,如果不再利用其句柄,应该关闭句柄,释放系统资源。关闭线程句柄和线程的结束与否没有关系。句柄可以认为是系统对资源(如线程)的分配的一个编号。关闭这个编号,对
2012-11-15 13:31:57 1139
转载 内嵌类
我们知道,程序在结束的时候,系统会自动析构所有的全局变量。事实上,系统也会析构所有的类的静态成员变量,就像这些静态成员也是全局变量一样。利用这个特征,我们可以在单例类中定义一个这样的静态成员变量,而它的唯一工作就是在析构函数中删除单例类的实例。如下面的代码中的CGarbo类(Garbo意为垃圾工人):?class CSingleton:{ // 其它成员 publ
2012-11-13 14:35:05 801
转载 向其他进程注入代码的三种方法
原版地址:http://www.codeproject.com/threads/winspy.asp?df=100&forumid=16291&select=1025152&msg=1025152下载整个压缩包下载WinSpy 作者:RobertKuster翻译:袁晓辉(hyzs@sina.com)摘要:如何向其他线程的地址空间中注入代码并在这个线程的上下文中执行之。目录:
2012-11-09 15:26:56 3610
转载 堆和栈的区别、windows进程中的内存结构
转自:http://blog.csdn.net/hns888/article/details/4798024非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中
2012-11-01 16:04:44 3446
转载 Windows核心编程:堆
[]作者:shenzi链接:http://blog.csdn.net/shenziWindows核心编程:堆 堆非常适合分配大量的小型数据。堆得优点是它能让我们专心解决手头上的问题,而不必理会分配粒度和页面边界这类事情。堆得缺点是分配和释放内存块的速度比其它方式慢,而且也无法再对物理存储器的调拨和撤销调拨进行直接控制。 在系统内部,堆就
2012-11-01 15:52:21 706
转载 【整理】编程单词缩写规则
1、大于2个单词则采用缩写规则,否则不用缩写。2、缩写的规则采用国际惯用方法:元音字母剔除法,首字母除外。使用单词的头一个或几个字母。组合单词使用如下规则:3、使用变量名中每个有典型意义的单词。如Count of Failure写成FailCnt。4、去掉无用的单词后缀 ing, ed等。如Paging Request写成PagReq。例如:ft=foo
2012-10-31 11:49:56 12057
转载 类中的const变量和static变量
对常量成员的初始化,你应该在类的构造函数的初始化部分初始化,而非像静态类成员那样在类声明中初始化。 像这样:class abc{public:abc();private:const int ab;};abc::abc():ab(0)//在这里初始化。{}但是如果 static const int ab; 就可以这样定义:const int abc::ab
2012-10-30 17:31:22 815
转载 【整理】 银行数据备份策略
城市商业银行各项业务有着不同的数据类型,按数据结构可分为结构化数据和非结构化数据:结构化数据即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。城市商业银行信息系统中运行Oracle、Informix、SQL数据库系统所存储的数据可归为此类。非机构化数据为不方便用数据库二维逻辑表来表现的数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等
2012-10-29 20:01:04 5821
转载 磁盘读写原理
1、 硬盘的组成硬盘大家一定不会陌生,我们可以把它比喻成是我们电脑储存数据和信息的大仓库。一般说来,无论哪种硬盘,都是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部份组成。所有的盘片都固定在一个旋转轴上,这个轴即盘片主轴。而所有盘片之间是绝对平行的,在每个盘片的存储面上都有一个磁头,磁头与盘片之间的距离比头发 丝的直径还小。所有的磁头连在一个磁头控
2012-10-29 19:37:31 1430
转载 剖析Windows任务管理器开发原理与实现(转)
原文地址:http://www.vckbase.com/document/viewdoc/?id=809 Windows2000/XP内含的任务管理器(Taskmgr)相信大家都熟悉吧,相比之下XP里的要比2000功能更加强大,返回的信息也更加的详细,不过您是否觉得还有很多希望获得的消息没有包含在里面吗?您是否觉得Windows的系统管理工具箱里的东西太分散了吗?下面就让我们看
2012-10-23 15:55:45 1540
转载 oracle/sql server查看与断开当前的数据库连接
oracle中列出当前数据库建立的会话情况:select sid,serial#,username,program,machine,status from v$session; 其中, SID 会话(session)的ID号; SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话; USERNAME 建立该会话的用户名; PROGRAM 这个会话是
2012-10-22 10:39:10 680
转载 架设WIN32汇编程序的开发环境
笔者在学习Windows下的图形界面应用程序(GUI,Graphical User Interface)的时候碰到的第一个麻烦就是架设WIN32汇编程序的开发环境,在这里笔者愿意和大家分享这段经历。笔者认为大家应该首先具备下列概念和文件:操作系统:首先大家应该具备Windows98以上操作系统,看起来这并不是什么难事文本编辑程序:你可以选择Windows自带的记事本,或
2012-10-17 14:03:46 494
转载 VC|MFC内存不能为"read"的调试方法
我们来演示一下如何制造一起崩溃事件:我把这个试验的源代码列出来:const int x=10000;int main(int argc, char*argv[]){ int *y=0; y=(int*)&x; *y=10; return 0;} 我们用Microsoft Visual C++6.0
2012-10-17 11:54:08 4523
转载 Oracle数据库共享连接和专用连接方式比较
在专用连接方式中,每一个连接到数据库服务器的客户端请求,服务器会和客户端之间建立起连接,这个连接用于专门处理该客户端的所有请求,直到用户主动断开连接或网络出现中断。在连接处于空闲时,后台进程PMON会每隔一段时间,就会测试用户连接状况,如果连接已断开,PMON会清理现场,释放相关的资源。 专用连接相当于一对一的连接,能够快速的响应用户的请求。当然,在连接的时候,首先要创建PGA(Program g
2012-10-15 18:05:00 690
转载 设计软件架构的步骤
原题:为应用程序设计一个合适的架构2009-05-13 作者:袁发明译 来源:IT168 目标学习如何为应用程序设计一个合适的架构了解对设计进行审查的各种方式概要本文将依次介绍应用设计的六个主要步骤并讨论与逻辑选择相关的各种问题。文中还包含了检查设计时可供参考的表单。输入在设计应用架构的时候以下输入是非
2012-10-15 17:00:45 5539
转载 仓库风格之黑板风格
今天听班主任讲的《高级软件体系结构》后觉得里面有两个设计模式(观察者和黑板)让我很是感兴趣,主要是以前都看过但是都没有细细咀嚼就过了,今天就好好回味一下吧,呵呵~。说到观察者模式,没有看过设计模式的人应该能够从字面找出一点线索出来,你可以先停下来想想会涉及到什么。观察者模式应该至少有两个对象,一个观察者、一个被观察者。那他们两个之间有什么关系呢?让我们先离开这个话题,回到现实生活中来吧。人
2012-10-11 18:55:01 7084
转载 数据库的允许为空和默认值问题
我不同意楼主的观点。是否允许为空,是否用缺省值,都必须根据实际需要进行确定。例如论坛注册时有“性别”一栏,有的人不愿意公开性别,你如何默认他(她)的性别?同样“生日”一栏也必须允许 NULL。这些情况不胜枚举。个人认为,空和缺省要看具体的需求,无所谓优劣。允许为空可以检查该列是否处理过.不允许为空而设置默认值,则无法知晓该值是默认填入的还是直接填入的.
2012-10-10 15:43:25 5652
转载 [收集]什么是父表和子表
简单的讲:当两个表建立一对多关系的时候,"一"的那一端是父表,"多"的那一端是子表.父表设置一个主键子表设置一个外键外键与主键相关联 B表引用A表的字段作为外键,那么A表是主表,B表是从表。就像A是B的父亲一样,儿子可以继承父亲的遗产,可以将父亲的东西拿来自己用。用继承的思想想这个问题就会比较明了。简单的理解是,字表中的记录使用了父表中的某些字段,通过这些字段可以找
2012-10-10 15:13:36 17043 2
转载 [转]逻辑主键和联合主键,一定要讨论清楚!
今天在做项目的数据库设计时,突然发现自己在表的主键设置方面太过片面,对于逻辑主键和联合主键的理解也很少。索性上网百度了一下,看到了一些论坛中的兄弟们的讨论,其中很多的分析让我顿时清醒了很多。下面开始贴上一些人的观点和分析,如果原作者看到本文,发现有不妥之处,请邮件告之。 网友goldrain说:我倒不反对业务主键,但只指单一字段做主键,比如很多登陆系统,常就用loginName做用户表
2012-10-10 15:12:04 8911
转载 LPTSTR、LPCSTR、LPCTSTR、LPSTR的来源及意义
UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。 MBCS,它是多字节字符集,它是不定长表示世界文字的编码。MB
2012-08-20 16:34:41 437
转载 什么叫工程
在现代社会中,“工程”一词有广义和狭义之分。就狭义而言,工程定义为“以某组设想的目标为依据,应用有关的科学知识和技术手段,通过一群人的有组织活动将某个(或某些)现有实体(自然的或人造的)转化为具有预期使用价值的人造产品过程”。就广义而言,工程则定义为由一群人为达到某种目的,在一个较长时间周期内进行协作活动的过程。关于工程的研究——称为“工程学” 关于工程的立项——称为“工
2012-08-07 10:07:17 5543
转载 软件架构视图—4+1模式
一、软件架构软件架构概念:将若干结构元素进行装配,从而满足系统主要功能和性能需求,并满足其他非功能性需求,如可靠性、可伸缩性、可移植性和可用性。用来处理软件高层次结构的设计和实施。软件架构 ={元素,形式,关系/约束}软件架构涉及到抽象、分解和组合、风格和美学。用由多个视图或视角组成的模型来描述软件架构,该方法称为多重视图方法。使用多重视图的目的:基于多个并发视图的使用情况来说
2012-08-06 18:04:52 2352
转载 用ATL创建COM组件详细解说
一、创建一个模型(工程) MyProj。二、给模型(工程)增加一个组件 MyCom。三、给组件增加方法(函数) MyF1、MyF2、MyF3、MyF4。一、创建模型(工程) MyProj在VC++6.0工作平台中,点击菜单 File下的 New 菜单项,在出现的 New 对话框中选中 Projects 卡片,在列表框中选中 ATL COM AppWizar
2012-08-01 15:22:56 11794 1
转载 C简单病毒程序
病毒的特点: 病毒的最大特点就是自我复制,从病毒的分类来说有很多种,这里我们将介绍最流行的附加式 病毒,它通过对正常的文件进行改写,增加来实现其自我复制的目的。 从程序的角度来说,我们要做的事情有两件: 1,让程序能够将自己在不影响其它程序本身工作的情况下复制给其它程序, 使它具备继续复制的能力。 2,在一定条件下使其产生某种发作效果。 其实第一件事情实际
2012-08-01 14:08:06 1701
转载 C++中 _declspec(novtable) 的探讨
(1)V TA B L E(虚函数表)和VPTR(指向虚函数标的指针)的区别编译器到底做了什么实现的虚函数的晚绑定呢?我们来探个究竟。 编译器对每个包含虚函数的类创建一个表(称为V TA B L E)。在V TA B L E中,编译器放置特定类的虚函数地址。在每个带有虚函数的类中,编译器秘密地置一指针,称为v p o i n t e r(缩写为V P T R),指向这个对象的V TA
2012-07-31 16:23:23 982
转载 oracle表空间的概念
表空间是什么表空间实质是组织数据文件的一种途径,Oracle就是通过表空间这个数据库对象完成对数据的组织的。在将数据插入Oracle数据库之前,必须首先建立表空间,然后将数据插入表空间的一个对象中。解释数据库、表空间、数据文件、表、数据的最好办法就是想象一个装满东西的柜子。数据库其实就是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸上的信息就是数据。根据表
2012-07-12 10:51:02 1092
转载 C语言中如何将二维数组作为函数的参数传递
转自:http://hi.baidu.com/outsmile/blog/item/38db95ede27206d2b31cb11d.html 今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不至于再在这上面浪费时间。正文:
2012-07-09 15:56:04 18485 2
转载 VC下ADO访问远程ORACLE数据库
//////////////////////////////////////////// //以下是本人的花费很力气才做到的,CSDN上没有着方面的//m_strPassWord m_strPlayerName是之前定义的 //SERVER25 是192.168.1.25上ORACLE数据库服务器的名字 // ////////////////////////////////////
2012-07-09 13:20:25 3569
转载 面向对象设计中的一些基本术语
1、对象 在窗口环境中,窗体(Form)、命令按钮(CommandButton)、文本框(TextBox)、标签(Label)等都是现成的对象。 VB中的窗体、控件等对象都有自己的属性、事件和方法,我们可以把属性看作一个对象的性质,把事件看作对象的响应,把方法看作对象的动作。2、属性:对象的特征称为属性。 例如:窗体的外观、窗体的背景颜色、坐标宽度、
2012-07-02 12:02:01 1160
转载 error C2065: DEBUG_NEW错误
用VC++的向导生成的类, 都带有下面这几行:#ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif 有时在使用new操作符的时候就会提示错误error C2065: 'DEBUG_NEW
2012-06-20 18:21:12 4822
转载 面向对象概要设计要点
要点如下:(1) 本项目的技术路线,即: Ø 采用的技术方法,如是采用OO的方法、还是结构化的方法,是采用.net还是JAVA; Ø 总体的技术结构,如采用几层体系结构,每层的责任是什么; Ø 系统的网络结构,如系统的功能在网络上的部署分布; Ø 核心技术难点的解决方案,如系统的核心算法; (2
2012-06-18 23:50:04 1339
转载 windows下socket编程:区分shutdown()及closesocket()
以下描述主要是针对windows平台下的TCP socket而言。首先需要区分一下关闭socket和关闭TCP连接的区别,关闭TCP连接是指TCP协议层的东西,就是两个TCP端之间交换了一些协议包(FIN,RST等),具体的交换过程可以看TCP协议,这里不详细描述了。而关闭socket是指关闭用户应用程序中的socket句柄,释放相关资源。但是当用户关闭socket句柄时会隐含的触发TCP连接
2012-06-18 15:11:45 694
转载 线程与线程句柄
今天温习很久前写的代码,发现自己写的这么一句代码,m_hTheard = CreateThread(NULL,0,RegNotifyProc,LPVOID(this),0,NULL);CloseHandle(m_hTheard); 突然给糊涂了,刚创建的线程,为什么有close了,还是当初入门不踏实,没有细想,现在反过来都记不得了,通过查资料,解决了我的疑惑。 1,线程和线程句柄(
2012-06-08 19:27:34 567
转载 VC C++ 中 _T的作用
1\C++语言中“_T”是什么意思?VisualC++里边定义字符串的时候,用_T来保证兼容性,VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。如果将来你不打算升级到unicode,那么也不需要_T,-------------------------------------------------
2012-06-08 17:27:41 712
转载 关于Socket和IOCP的一些值得注意的地方
IOCP是一整套高性能的IO操作异步模型,可以用在文件操作也可以用在网络SOCKET操作上面。当用在网络SOCKET上时,在服务器端主要配合AceeptEx WSASend WSASendto来使用,在客户机端主要配合ConnectEx WSARecv和WSARecvFrom来使用。这几天用IOCP模型模仿IPMSG软件时有一些感触,分享如下:(这里没有具体的使用常识,这部分请参考《Windows
2012-06-08 00:57:34 687
转载 线程何时释放内核资源
转载自http://hi.baidu.com/wangguang246/blog/item/eb70032817b5f3e599250aaf.html最终编辑 yaofly一例子1 if(sClient!=INVALID_SOCKET) { hThread = CreateThread(NULL,0,ClientThread,(LPVOID)pClie
2012-06-06 00:10:21 2338
转载 CoInitializeEx 与CoInitialize的区别
CoInitialize、CoInitializeEx都是windows的API,主要是告诉windows以什么方式为程序创建COM对象,原因是程序调用com库函数(除CoGetMalloc和内存分配函数)之前必须初始化com库。 有哪些方式呢?单线程和多线程。 CoInitialize指明以单线程方式创建。 CoInitializeEx可以指定C
2012-06-02 11:38:48 16588
原创 套接字究竟是什么?
网络整理:书上说的端口是数据结构和I/O缓存区”是指硬件端口,网络编程里的端口可以理解为应用程序的ID。说得形象点,套接字就类似我们人类的门我们打开门,通过门外面的人可以进来我们推开门,里面的人也可以出去同样,外面的数据可以通过socket把它存储在本地机器的缓冲区里等待本地机器接收本地机器的数据可以通过socket放在缓冲区里等待发送到对方机器上当我们把门给关上时
2012-05-31 21:25:13 6162 2
windows下socket通信模型全面讲解
2013-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人