初涉socket编程的朋友经常有下面一些疑惑:1. 为什么我发了3次,另一端只收到2次?2. 我每次发送都成功了,为什么对方收到的信息不完整?这些疑惑往往是对send和recv这两个函数理解不准确所致。send和recv都提供了一个长度参数。对于send而言,这是你希望发送的字节数,而对于recv而言,...
阅读(3192) 评论(7)
1. 原理分析经常有些新C++程序员问:C++的类的成员个数是不是有限制,为什么我加一个变量后程序就死了?或者说:是不是成员变量的顺序很重要,为什么我两个成员变量顺序换一换程序就不行了?凡此种种之怪现象,往往都是内存访问越界所致。何谓内存访问越界,简单的说,你向系统申请了一块内存,在使用这块内存的时候,超出了你申请的范围。例如,你明明...
阅读(4887) 评论(15)
考虑这样一个问题:我们把2个红色球和2个白色球放进一个黑盒子里,问取出两个球颜色相同得概率是多少。很显然,取出两个球的组合有以下四种:RR, RW,WR,WW,因此同颜色的概率是2/4=0.5按照乘法原理,我们可以分两次取出。第一次,我们取出白色的可能性为1/2,剩下的3个球再取出白色的可能性为1/3,因此,两次都取出...
阅读(922) 评论(8)
...
阅读(1141) 评论(7)
大家经常听到一个名词叫内存泄漏。到底怎样才会遇到内存泄漏,内存泄漏到底该怎么定位,大家却都很糊涂。实际上我对这个问题也很头疼,下面就是我关于这个问题的一些小看法:1. 什么叫内存泄漏?内存泄漏是指你分配了内存,使用完毕后没有正确释放它。这样这个内存就不能再被使用。例如:void test(){&...
阅读(2394) 评论(172)
一般而言,如果基类定义了operator new,那么派生类也必须对应定义。考虑下面的两个类char * pAddress;class CBase{public: static void* operator new(size_t size){return pAddress;}; ...
阅读(1318) 评论(10)
前一阵子,我申请部门内部调动,被其他部门的人面试了一次,面试官让我写一段代码来对一个整形数组排序,我写了下面一段代码#define SWAP(a,b) do {\    a = a +b;\    b = a - b;\   ...
阅读(1014) 评论(11)
今天下午五点无聊的拿遥控器换台,突然发现甘肃电视台正在有名家坐诊用“五联疗法”治疗大三阳。我听了几分钟,大意如下:黄主任:以前治好大三阳需要2-3个月就已经很快了,没想到技术发展的这么快,现在15天就可以治愈了。......曾主任:我们医院是卫生部....的医院,医生......,护士....
阅读(954) 评论(5)
日前,我从我招行帐户向外地汇出一笔钱。两三天以后,对方仍然没有受到钱。由于招行声称最多5天到帐,倒也没有当回事情。但是一周过去后,才发现对方根本没有收到钱。连到招行专业版,发现我的存款记录中多了一条“退转帐汇款本金”,时间是汇款后的第四天。从这个记录中,我注意到招商银行专业版一来没有注明我的钱为什么没汇成功,二来没有把...
阅读(1569) 评论(13)
!FA58BC446FBB14B9!107.entry...
阅读(897) 评论(0)
对于一个程序员而言,学习一种语言和一种算法是非常容易的(不包括那些上学花很多时间玩,上班说学习没时间的人)。但是,任何程序都可能是有瑕疵的,尤其有过团队协作编程经验的人,对这个感触尤为深刻。在我前面的述及调试的文章里,我侧重于VC集成环境中的一些设置信息和调试所需要的一些基本技巧。但是,仅仅知道这些是不够的。一个成功...
阅读(794) 评论(6)
现象 用多线程方法设计socket程序时,你会发现在跨线程使用CAsyncSocket及其派生类时,会出现程序崩溃。所谓跨线程,是指该对象在一个线程中调用Create/AttachHandle/Attach函数,然后在另外一个线程中调用其他成员函数。下面的例子就是一个典型的导致崩溃的过程: CAsyncSocket S...
阅读(948) 评论(13)
++运算符和--运算符最早出现的原因是他是单指令的,因此效率很高,考虑x = x+1和x++前者需要两个mov指令和一个add指令,而后者只需要一个inc指令,在效率至上年代,这是很重要的。但是,现在的软件都很大,一两个指令的优化对程序基本上没有任何意义。而程序的可维护性和可读性则在大...
阅读(880) 评论(11)
根据前面一节的说明,服务端套接字应该按照如下顺序建立: 初始化 创建套接字 绑定本地地址 进入侦听状态 处理接受循环 下面首先创建一个例子来演示服务端套接字的实现,并在以后的各节中优化这个设计。 这个设计实现的功能如下:允许客户端(实...
阅读(868) 评论(4)
sockutil.cpp#include "stdafx.h" #include <iostream.h> #i...
阅读(946) 评论(2)
服务端套接字是编程最简单的一个部分,甚至在各种环境下都可以用类似的代码。对于一个服务端套接字而言,他的基本工作包括: 初始化 创建套接字 给套接字捆绑一个本地地址 【可选】设置套接字属性 调用listen函数 进入accept循环,接受来自客户端的...
阅读(792) 评论(5)
1。我这个人缺点就是不爱看书,不愿意学习先进知识。因此这里的东西都是经验总结而已,有可能有错误或者比较落后。建议有高追求的读者在看完后看看ACE等成熟的平台2。本人提供的代码都是简单测试即写出,因此不保证在您的系统中能够运行,也不提供后续的调试支持。3。由于我个人也比较忙,因此可能提供文章的过程不够连续,所以希望大家耐心...
阅读(724) 评论(5)
说明 前一篇 所有的WinSock函...
阅读(748) 评论(6)
说明 下一篇 由于我对TCP稍微熟悉,所以本系列文...
阅读(691) 评论(13)
总体来说,我还是比较喜欢超级女声的。有其是周笔畅,无论歌声和性格,都非常对我胃口。当然,其他超女我也觉得不错,例如靓影,实际上我也很喜欢。然而今天我一个朋友说他喜欢靓影,让我一定要投票,他的要求被我严辞拒绝。一直以来,我对各位名流一直很难粉丝起来(当然,谁要成为我的粉丝我还是比较喜欢的,有其俺这么有性格 - puke)。我们买碟买带买片买票,...
阅读(980) 评论(17)
1 2 3 下一页共3页  到第