- 博客(24)
- 资源 (39)
- 收藏
- 关注
原创 unix 网络编程 第三章
<br /><br />包裹函数 就是对有错误返回值的函数的封装。在unix网络编程中用大写表示。<br /> <br />err_sys 必须要errno 的值才能输出错误?<br /> <br />线程函数遇到错误的时候 不设置errno的值,而是把error的值作为函数的返回值。<br /> <br />必须检查某个确定的错误,并处理它,而不是终止进程运行。<br /> <br />Unix errno 值 : 每当一个unxi函数中发生错误的时候,全局变量将被设置成一个指示消息类型的正数,函数本身
2010-09-28 17:53:00 781
原创 指向结构体的指针和指向结构体指针的指针
<br />刚才用结构体的指针,操作内存出错了,记录一下。<br /> <br /> <br />struct T *ptr;是指向一个结构体的指针,也可以当做一个结构体数组来用。 可以把结构体当做 int 来看,int* 类型即可以指向一个整数,<br />也可以指向数组。<br /><br /><br />struct T ** ptr, 说白了 就是一个结构体指针的数组,数组内都是指针,还要分配内存。<br /> <br /> <br /><br />/*<br />struct T<br />{<b
2010-09-28 11:21:00 12419 2
原创 关于内存的资料
<br />nginx 的内存块模块 代码分析 http://www.cnblogs.com/sld666666/archive/2010/06/27/1766255.html<br /> <br />内存管理:http://www.cppblog.com/aurain/category/10906.html
2010-09-27 13:34:00 758
转载 visual studio 2008 试用版评估期已结束的解决方法
<br /><br />启动visual studio 2008后显示对话框:visual studio的试用版评估期已结束。<br />下面有两个按钮,点第一个链接到微软网页,第二个直接关闭。虽然大多数高手已经知道如何解决,但对菜鸟来说还是有用的。 解决方法如下:<br />VS2008中英文正式版序列号<br />1.Visual Studio 2008 Professional Edition:<br />XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4WT<br />2.Visual Stud
2010-09-27 00:40:00 943
转载 服务器中的内存管理 收集
<br />内存池:转自:http://blog.csdn.net/060/archive/2006/10/08/1326025.aspx<br />C++ 内存池 -- C++ Memory Pool <br /><br />原文作者: DanDanger2000. <br />原文链接: http://www.codeproject.com/cpp/MemoryPool.asp<br />C++ 内存池<br />l 下载示例工程 – 105Kb<br />l 下载源代码 – 17.3Kb<br /
2010-09-26 14:41:00 897
原创 gdb查看运行时数据
<br />转自:http://www.xxlinux.com/linux/article/development/soft/20070827/9501.html<br /> <br />在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:print<br />print /<br />是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),是输出的格式,比如,如果要把表达式按16进制的格式输出
2010-09-25 14:48:00 535
原创 GDB调试精粹及使用实例
<br />转自:http://fanqiang.chinaunix.net/program/other/2006-07-14/4834.shtml
2010-09-25 13:56:00 398
原创 Linux2.6内核epoll介绍
<br /><br />转自:http://baoz.net/linux26%E5%86%85%E6%A0%B8epoll%E4%BB%8B%E7%BB%8D/<br /> <br /> <br />[作者]:滕昱,2005/3/30,0.1版本<br />[版权声明]:此文档遵循GNU自由文档许可证(GNU Free Documentation License).任何人可以自由复制,分发,修改,不过如果方便,请注明出处和作者:)<br />(1)导言:<br />首先,我强烈建议大家阅读Richard S
2010-09-25 11:18:00 571
原创 从文件读入整数并动态设置数组内容
<br />#include<stdio.h><br />#include<stdlib.h><br />#include <malloc.h><br />int main(void)<br />{<br /> FILE * pfstream;<br /> int row = 0;<br /> int col = 0;<br /> int i = 0;<br /> int j = 0;<br /> int item;<br /> int *narray = NULL
2010-09-21 16:51:00 562
转载 理解I/O Completion Port
<br />欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术:<br /> I/O端口<br /> 同步/异步<br /> 堵塞/非堵塞<br /> 服务端/客户端<br /> 多线程程序设计<br /> Winsock API 2.0<br /><br /> 在这之前,我曾经开发过一个项目,其中
2010-09-19 17:55:00 444
转载 高性能服务器底层网络通信模块的设计方法
<br />在对I/O完成端口进行底层封装的基础上,本文提出一种具有高性能的、可扩展性的通用网络通信模块设计方案。该方案采用多种系统性能优化技术,如线程池、对象池和环形缓存区等。该模块在Win32平台上用c++开发完成,经过严格的压力和性能测试后,实验结果表明该模块能够支持海量并发连接,具有较高的数据吞吐量,在实际项目应用中也取得了良好的表现。<br /> 1、概述<br /> 要设计与开发出一款高性能的服务器(如网游服务器、Web服务器和代理服务器等),一般都采用高效率的网络I/O模型。Linux平台
2010-09-19 11:16:00 1394
转载 ACE框架在网络游戏服务器中的设计与应用
<br />随着计算机网络的发展,特别是因特网的出现,数字娱乐和网络游戏产业得到了蓬勃的发展,异军突起的网络游戏成为中国网络产业中的先锋。而由于信息技术的进步,计算机、手机以及不同的传媒终端等不断涌现,如何将这些众多不同的终端通过互联网进行互联互动成为一大技术难点,而这些难点的突破取决于网络游戏服务器的开发。目前在各种服务器通信软件的设计和开发中,已经广泛地使用到软件设计模式。尤其在大型的服务器通信软件开发中常会采用模块化设计。当一个庞大的服务器系统执行任务时,往往要通过其中不同的模块进行协作完成,在这种情
2010-09-19 10:43:00 948
转载 简单实现设计模式
<br />转自:http://bbs.gameres.com/showthread.asp?threadid=6266<br /> <br /><br />下面这些设计模式的实现都是一些简单的示例实现,如果你希望更稳固,更方便的实现,请自己修改。我以Gof的书作为蓝本,实现里面可以被抽象的设计模式,里面使用Loki, Boost, STL的一些东西,如果有疑问的话请翻阅相关书籍。<br />//********************************************************
2010-09-16 17:56:00 491
原创 没写完
<br /><br />// test.cpp : 定义控制台应用程序的入口点。<br />//<br /> <br /> <br /> <br /> <br /> <br />#pragma pack(push,1)<br /> <br />struct SOCKPACKET<br />{<br />WORD wSize;<br />WORD byType;<br />char pData[0];<br />};<br /> <br />struct SOCKHEAD<br />{<br />WORD
2010-09-15 18:05:00 517
原创 DLL中调用约定和名称修饰
<br />转自:http://dev.csdn.net/htmls/25/25141.html<br /> <br /> <br /><br />调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议。这种协议规定了该语言的函数中的参数传送方式、参数是否可变和由谁来处理堆栈等问题。不同的语言定义了不同的调用约定。<br /> <br />在C++中,为了允许操作符重载和函数重载,C++编译器往往按照某种规则改写每一个入口点的符号名,以便允许同一个名字(具有不同
2010-09-15 17:45:00 369
原创 socket 的一些函数
<br />转自:http://hi.baidu.com/pasan/blog/item/3afc76316e304f1febc4afc8.html关于winsock服务器和客户端编程在网络编程中,最常用和最基础的就是WINSOCK. 现在我们讨论WINDOWS下的SOCKET编程. <br /> <br /> 大凡在WIN32平台上的WINSOCK编程都要经过下列步骤: <br /> 定义变量->获得WINDOCK版本->加载WINSOCK库->初始化->创建套接字->设置
2010-09-15 17:21:00 592
原创 【linux 编程】BSD Socket 简易入门手册
<br />转自:http://blog.csdn.net/fengyv/archive/2006/05/31/765482.aspx目录介绍类比 (什么是 socket ?)装上你的新电话(怎样侦听?)拨号 (如何调用 socket)谈话(如何通过 sockets 交谈)挂起(结束)世界语(交流的语言很重要)未来在你的掌握了(下一步?)<br /> 介绍<br />当你进入 UNIX 的神秘世界后,立刻会发现越来越多的东西难以 < type="text/javascript"> < type="text/
2010-09-13 17:50:00 613
转载 网络游戏服务器架构设计(转)
<br />登录服的设计 -- 功能需求<br /><br />正如我们在前面曾讨论过的,登录服要实现的功能相当简单,就是帐号验证。为了便于描述,我们暂不引入那些讨论过的优化手段,先以最简单的方式实现,另外也将基本以mangos的代码作为参考来进行描述。<br /><br />想象一下帐号验证的实现方法,最容易的那就是把用户输入的明文用帐号和密码直接发给登录服,服务器根据帐号从数据库中取出密码,与用户输入的密码相比较。<br /><br />这个方法存在的安全隐患实在太大,明文的密码传输太容易被截获了。那我
2010-09-10 17:22:00 3279
转载 快速排序算法
<br /><br /> <br />转自:http://www.yuanma.org/data/2006/0609/article_740.htm<br /> <br />快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。<br /> 假设要排序的数组是A[1]……A[N],首先任意选取一个数据(通常选用
2010-09-02 11:54:00 409
原创 面试我的大哥说错了
<br /><br />#include "stdafx.h"<br />#include <iostream><br /> <br />using namespace std;<br /> <br />void main(void)<br />{<br />char* str = "0123456789";<br />strcpy( str+3 ,"ABCD");<br />cout << str <<endl;<br /><br />}<br /> <br /> <br /><br />#include
2010-09-01 16:56:00 486
SmartFoxServer中文教程及API.zip
2011-09-16
c++笔试面试宝典2010版.doc
2010-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人