初涉socket编程的朋友经常有下面一些疑惑:1. 为什么我发了3次,另一端只收到2次?2. 我每次发送都成功了,为什么对方收到的信息不完整?这些疑惑往往是对send和recv这两个函数理解不准确所致。send和recv都提供了一个长度参数。对于send而言,这是你希望发送的字节数,而对于recv而言,...
阅读(2802) 评论(7)
1. 原理分析经常有些新C++程序员问:C++的类的成员个数是不是有限制,为什么我加一个变量后程序就死了?或者说:是不是成员变量的顺序很重要,为什么我两个成员变量顺序换一换程序就不行了?凡此种种之怪现象,往往都是内存访问越界所致。何谓内存访问越界,简单的说,你向系统申请了一块内存,在使用这块内存的时候,超出了你申请的范围。例如,你明明...
阅读(4806) 评论(15)
考虑这样一个问题:我们把2个红色球和2个白色球放进一个黑盒子里,问取出两个球颜色相同得概率是多少。很显然,取出两个球的组合有以下四种:RR, RW,WR,WW,因此同颜色的概率是2/4=0.5按照乘法原理,我们可以分两次取出。第一次,我们取出白色的可能性为1/2,剩下的3个球再取出白色的可能性为1/3,因此,两次都取出...
阅读(639) 评论(8)
http://easydev.spaces.live.com/...
阅读(752) 评论(7)
大家经常听到一个名词叫内存泄漏。到底怎样才会遇到内存泄漏,内存泄漏到底该怎么定位,大家却都很糊涂。实际上我对这个问题也很头疼,下面就是我关于这个问题的一些小看法:1. 什么叫内存泄漏?内存泄漏是指你分配了内存,使用完毕后没有正确释放它。这样这个内存就不能再被使用。例如:void test(){&...
阅读(1906) 评论(172)
一般而言,如果基类定义了operator new,那么派生类也必须对应定义。考虑下面的两个类char * pAddress;class CBase{public: static void* operator new(size_t size){return pAddress;}; ...
阅读(974) 评论(10)
前一阵子,我申请部门内部调动,被其他部门的人面试了一次,面试官让我写一段代码来对一个整形数组排序,我写了下面一段代码#define SWAP(a,b) do {\    a = a +b;\    b = a - b;\   ...
阅读(705) 评论(11)
今天下午五点无聊的拿遥控器换台,突然发现甘肃电视台正在有名家坐诊用“五联疗法”治疗大三阳。我听了几分钟,大意如下:黄主任:以前治好大三阳需要2-3个月就已经很快了,没想到技术发展的这么快,现在15天就可以治愈了。......曾主任:我们医院是卫生部....的医院,医生......,护士....
阅读(646) 评论(5)
日前,我从我招行帐户向外地汇出一笔钱。两三天以后,对方仍然没有受到钱。由于招行声称最多5天到帐,倒也没有当回事情。但是一周过去后,才发现对方根本没有收到钱。连到招行专业版,发现我的存款记录中多了一条“退转帐汇款本金”,时间是汇款后的第四天。从这个记录中,我注意到招商银行专业版一来没有注明我的钱为什么没汇成功,二来没有把...
阅读(1060) 评论(13)
http://spaces.msn.com/ronaldyan/blog/cns!FA58BC446FBB14B9!107.entry...
阅读(638) 评论(0)
对于一个程序员而言,学习一种语言和一种算法是非常容易的(不包括那些上学花很多时间玩,上班说学习没时间的人)。但是,任何程序都可能是有瑕疵的,尤其有过团队协作编程经验的人,对这个感触尤为深刻。在我前面的述及调试的文章里,我侧重于VC集成环境中的一些设置信息和调试所需要的一些基本技巧。但是,仅仅知道这些是不够的。一个成功...
阅读(541) 评论(6)
现象 用多线程方法设计socket程序时,你会发现在跨线程使用CAsyncSocket及其派生类时,会出现程序崩溃。所谓跨线程,是指该对象在一个线程中调用Create/AttachHandle/Attach函数,然后在另外一个线程中调用其他成员函数。下面的例子就是一个典型的导致崩溃的过程: CAsyncSocket S...
阅读(687) 评论(13)
++运算符和--运算符最早出现的原因是他是单指令的,因此效率很高,考虑x = x+1和x++前者需要两个mov指令和一个add指令,而后者只需要一个inc指令,在效率至上年代,这是很重要的。但是,现在的软件都很大,一两个指令的优化对程序基本上没有任何意义。而程序的可维护性和可读性则在大...
阅读(601) 评论(11)
根据前面一节的说明,服务端套接字应该按照如下顺序建立: 初始化 创建套接字 绑定本地地址 进入侦听状态 处理接受循环 下面首先创建一个例子来演示服务端套接字的实现,并在以后的各节中优化这个设计。 这个设计实现的功能如下:允许客户端(实...
阅读(594) 评论(4)
sockutil.cpp#include "stdafx.h" #include <iostream.h> #i...
阅读(627) 评论(2)
1 2 3 下一页共3页  到第