自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dps game

喜欢探索

  • 博客(149)
  • 资源 (24)
  • 收藏
  • 关注

转载 CentOS安装配置Samba

非常好用的centos配置samba例子    本文的场景是虚拟机运行CentOS6.5,本机是Win7,现欲把CentOS上的一个文件夹共享出来,Win的机器可以读写。    Samba与window连接需要使用NetBIOS协议,请确认你的Win7系统已经安装了NetBIOS协议。    组成Samba运行的有两个服务,一个是SMB,另一个是NMB;

2016-02-04 15:02:36 395

转载 Notepad++

3.4. Notepad++的正则表达式替换和替换 第 3 章 Notepad++的功能详解 3.4. Notepad++的正则表达式替换和替换下面就来详细介绍Notepad++中关于正则表达式的部分,主要是查找和替换。对于替换功能,一般的文本编辑器,都具有此功能,但是对于高级的正则表达式替换,则很多都不支持。而此

2016-01-22 10:29:24 500

原创 ultraedit

文件的 ULTRADEDIT 进行的 文本 处理 %^(  {"*   ^) "  ," ^1",{"查找每行 第一个匹配字符 并且替换

2015-09-10 11:33:21 416

转载 tasklet运行机制

tasklet我们从软中断的初始化说起:软中断的初始化是在star_kernel中调用softirq_init完成的。

2015-08-28 15:07:21 180

原创 tcp紧急数据发送

static inline void tcp_push(struct sock *sk, int flags, int mss_now,                int nonagle){    if (tcp_send_head(sk)) {        struct tcp_sock *tp = tcp_sk(sk);        if (!(flags & 

2015-08-07 16:04:15 486

原创 查栈破坏的方法

对于栈破坏,对很多程序员来说是一种幽灵,它的产生的core文件的,每一次的不停变化,就像一个高手杀手一样,你破案的时候,前后的线索的都发生的了变化,每一次的觉得正常的,但是core了甚至发在在malloc 、free的地方。这一有一道好的用的方法。// [ranqd Add] 返回地址效验宏 #define CALL_CHECK_BEGIN(n)  \unsigned long r

2015-07-24 14:54:35 1131 2

原创 TCP处理主要开销

高速的网络TCP 通常受限 发送主机 与 接收主机, 而不是网络设备或协议本身的实现。TCP的处理的主要开销 分为中断操作、数据复制和协议处理。1:中断操作2:数据复制3:协议处理TCP的处理机制的优化技术 

2015-07-16 20:01:29 1825

原创 centos samba 安装

本文的目的主要用来说明如何在CentOS6.5的环境下配置出一个简单可用的samba服务,并且可以通过windows对其文件进行访问安装相关软件yum install samba samba-client samba-commo   chkconfig smb on   chkconfig nmb on  如果有防火墙的 需要对防火墙进行修改 对路由表做如下操作ip

2015-07-09 09:57:23 118

原创 Centos6.5下Samba的简单配置

本文的目的主要用来说明如何在CentOS6.5的环境下配置出一个简单可用的samba服务,并且可以通过windows对其文件进行访问安装相关软件 yum install samba samba-client samba-commo

2015-07-09 09:53:17 153

原创 天龙寻路算法分析

#include "stdafx.h"//-----------------------------------------------------------------------------// Game Server , Route Module//-----------------------------------------------------------------------

2015-06-29 15:10:49 264

原创 lua 点跟冒号的区别

定义的时候冒号默认接收self参数调用的时候冒号默认传递调用者自己为参数而句号要显示传递或接收self参数-- 例如:句号定义,需要显示传递或接收[plain] view plaincopya = { x = 1 }  function a.fun(self)   print(self.x)  end   

2015-06-03 21:46:56 497

转载 fcntl+pthread_rwlock制作的支持多进程多线程混合的互斥锁

之前在做DB服务器  的时候多线程 读写共享内存由于某些平台 phtread_rwlock_ 系列是不支持进程间共享的属性, 而 fcntl() 的文件记录锁又不安全用作线程之间互斥,是所以在多进程和多线程混合混合的服务器模型中, 互斥锁一般只能用信号灯或信号量机制, 但这都只有一种状态而没有共享锁(读)和独占锁(写)的区分, 对于多读少写的情况不太舒服.下面贴的代码是的实测平

2015-05-28 09:23:25 846

原创 多线程负载均衡

说起load balance,一般比较容易想到的是大型服务在多个replica之间的load balance、和kernal的load balance。前者一般只是在流量入口做一下流量分配,逻辑相对简单;而后者则比较复杂,需要不断发现正在运行的各个进程之间的imbalance,然后通过将进程在CPU之间进行迁移,使得各个CPU都被充分利用起来。而本文想要讨论的load balance有别于

2015-05-22 09:41:51 4073

原创 LUA字符串分割方法性能比较

function lua_string_split(s, p)local rt = {}string.gsub(s, '[^'..p..']+', function(w) table.insert(rt, w) end )return rtendfunction split(str,splitor)if(splitor==ni

2015-05-20 14:03:39 2075

转载 查看linux服务器硬盘IO读写负载

最近一台linux服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的IO访问已经达到100%  为了方便各位和自己今后遇到此类问题能尽快解决,我这里将查看linux服务器硬盘IO访问负荷的方法同大家一起分享:  首先 、用top命令查看  top - 16:15:05 up 6 days, 6:25

2015-05-07 08:57:29 574

转载 网络游戏前端服务器的需求和设计

转载 http://www.cnblogs.com/Hybird3D/archive/2012/02/04/2337652.html上一篇主要谈了一些基本理念,本篇将谈谈我个人总结的一些IOCP编程技巧。 网络游戏前端服务器的需求和设计  首先介绍一下这个服务器的技术背景。在分布式网络游戏服务器中,前端连接服务器是一种很常见的设计。他的职责主要有:

2015-04-30 23:17:05 969

转载 static_cast,dynamic_cast,reinterpret_cast和const_cast的区别详解

以下是对static_cast,dynamic_cast,reinterpret_cast和const_cast之间的区别进行了详细的介绍,需要的朋友可以过来参考下C-style cast举例: int i; double d; i = (int) d;上面的代码就是本来为double类型的d,通过(int)d将其转换成整形值,并将该值赋给整形变量i (注意d本

2015-04-29 00:24:08 428

转载 C++笔试常见题目

分类: IT职场C++笔试常见题目网上流传的一份常见C++笔试题目汇总,供各位有找工作需要的同学参考之用,因为原文较长,遂采用连载形式,预计需要连载15期左右,有耐心的同学就请一直跟下去吧,相信一定会有所收获。提前说明一点,题目来在网络,答案仅供参考,如有同学觉得哪道题目有异议,欢迎讨论! 1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加

2015-04-28 22:19:25 393

转载 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句

方法一:[cpp] view plaincopyprint?#define max(a,b) ((((long)((a)-(b)))&0x80000000)?(b):(a))  若a>b,则a-b的二进制最高位为0,与上任何数还是0,所以大数为a;否则,a-b为负数,最高位为1,与上0x80000000(最高位为1

2015-04-28 15:47:34 482

原创 C语言字符串反转函数

找工作前写了篇blog说要做些常见的笔试面试题,像单链表反转啊字符串反转啊之类的题目,但是只写了一篇单链表反转就没再继续写下去,因为觉得实在没什么好写的,不过都是一些简单的指针操作罢了,但是还是有很多新手问这个问题,而且我在腾讯二面的时候也被要求实现这个函数,那我也写一篇blog介绍一下字符串反转吧。  C语言中所谓的字符串不过是字符数组,后跟一个0x00字符标识结尾,所以反转起来很容易,

2015-04-27 23:39:52 625

转载 n的阶乘(n!)末尾零(0)的个数

1000乘以999乘以998乘以997...3乘以2乘以乘以1的末尾连续有多少个零?把从 1000 到 1 这些所有的数,只要是5的倍数的,一律分解成含因子5为止。例如 10 = 2 * 5 15 = 3 * 525 = 5 * 550 = 2 * 25 = 2 * 5 * 5100 = 4 * 25 = 4 * 5 * 5105 = 21 * 5125 = 5

2015-04-27 23:33:18 1017

转载 关于自己写linux c++的网络服务的tps上限的一次不严格的测试

测试机: amd 两核心 ,客户端与服务端都在本机上跑。网络层:A类epoll线程处理accept的被动连接;B类epoll线程处理connect的主动连接;C类epoll线程把A或B类epoll线程得到的连接分配到某个线程,专门处理send和recv操作;D类线程池处理C类抛出来的数据,处理完之后,再投递到C类线程做send操作。用ab测试短连接ab -n

2015-04-27 23:08:03 661

转载 linux下测试磁盘的读写IO速度

有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决策.下面是两种测试方法:(1)使用hdparm命令这是一个是用来获取ATA/IDE硬盘的参数的命令,是由早期Linux IDE驱动的开发和维护人员 Mark Lord开发编写的( hdparm has been writte

2015-04-27 22:23:22 343

转载 如何实现一个malloc2

阅读目录2.1.1 虚拟内存地址与物理内存地址2.1.2 页与地址构成2.1.3 内存页与磁盘页2.2.1 内存排布2.2.2 Heap内存模型2.2.3 brk与sbrk2.2.4 资源限制与rlimit3.2.1 数据结构3.2.2 寻找合适的block3.2.3 开辟新的block3.2.4 分裂block3.2.5 malloc的实现3.2.6 calloc的实现3.2.7 fre

2015-04-22 16:02:33 587

转载 如何实现一个malloc

任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是C的标准库中提供的一个普通函数,而且实现malloc的基本思想并不复杂,任何一个对C和操作系统有些许了解的程序员都可以很

2015-04-17 16:18:42 386

原创 双缓冲消息队列-减少锁竞争

络应用服务器端, 为了性能和防止阻塞, 经常会把逻辑处理和I/O处理分离:I/O网络线程处理I/O事件: 数据包的接收和发送, 连接的建立和维护等.逻辑线程要对收到的数据包进行逻辑处理.通常网络线程和逻辑线程之间是通过数据包队列来交换信息, 简单来说就是一个生产者-消费者模式.这个队列是多个线程在共享访问必须加锁, 意味着每次访问都要加锁。如何更好的如何减少锁竞争次数呢 ?

2015-04-15 17:57:36 461

转载 nginx spinlock 自旋锁的实现

两个问题, 1) spinlock的实现原理是?   a. 在用户态尝试竞争一个共享资源. 如果竞争不到, 则不断尝试竞争. 但是不借助内核提供的mutex等变量机制. 因为涉及到内核,就意味这效率低下.   b. 要想在用户态实现竞争一个共享资源, 必须借助cpu提供的原子操作指令. 如果是SMP多cpu,还需要lock指令锁总线.   c. 为了避免在长时间竞争却一直得不到

2015-04-15 16:06:49 455

转载 Linux 的多线程编程的高效开发经验

本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。4 评论:杨 奕 (yangyish@cn.ibm.com), 软件工程师, IBM贺 皓 (haohe@cn.ibm.com),

2015-04-14 15:16:45 415

转载 linux 2.6 互斥锁的实现-源码分析

1. 首先介绍一下互斥锁所使用的数据结构:struct mutex { 引用计数器 1: 所可以利用。  小于等于0:该锁已被获取,需要等待 atomic_t  count;  自旋锁类型,保证多cpu下,对等待队列访问是安全的。 spinlock_t  wait_lock;  等待队列,如果该锁被获取,任务将挂在此队列上,等待调度。 struct li

2015-04-14 15:09:04 345

原创 malloc linux实现

转载: http://blog.csdn.net/zdl1016/article/details/8696514这里分析linux 0.11内核源码中, 给内核使用的malloc函数(注意,是给内核使用的,不是给应用程序使用的,不是glibc)直接上图:解释:    这个图只举例bucket_size=16的桶列表.   第一个桶描述符中的buf中的obj已经大

2015-04-06 19:59:10 456

转载 spin_lock浅析

今天我们详细了解一下spin_lock在内核中代码实现,我们总共分析四个项目: 1.spinlock_t的定义分析:首先来看一下spinlock_t的定义:typedef struct {       raw_spinlock_t raw_lock;#if defined(CONFIG_PREEMPT) &&defined(CONFIG_SMP)       unsig

2015-04-05 13:59:48 730

转载 从头到尾彻底解析Hash表算法 - fff8965

作者:July、wuliming、pkuoliver说明:本文分为三部分内容,  第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。第一部分:Top K 算法详解问题描述(百度面试题):搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假设目前

2015-04-04 22:23:57 477

原创 拷贝构造函数问题所在

class Rect{public:    Rect()      // 构造函数,p指向堆中分配的一空间    {        p = new int(100);    }    ~Rect()     // 析构函数,释放动态分配的空间    {        if(p != NULL)        {//构造函数析构了两次         

2015-04-04 18:41:47 349

转载 IOCP完成端口模型Client——》Server

调试时的::OutputDebugString("something!");需要用DebugView查看,可以到:http://www.onlinedown.net/soft/62573.htm下载,呵呵///Server  [cpp] view plaincopy///////////////////////////

2015-03-30 00:43:44 1018

转载 了解 TCP 系统调用序列

从内核到应用程序级别的函数调用序列TCP/IP 编程接口提供各种系统调用,以帮助您有效地使用该协议。TCP 堆栈代码数量繁多,深入到内核级别的完整调用序列可以帮助您了解 TCP 堆栈。在本文中,将回顾和学习关于 TCP 调用序列的详细信息,其中包括对 FreeBSD 的引用,以及在用户级进行系统调用后在 TCP 堆栈中发生的重要函数调用。评论:Bindu A

2015-03-29 13:07:21 539

原创 tcp定时器

1:建立链接定时器定时器在发送syn报文段建立一条新连接是启动。如果没有在75s收到响应,连接建立将中断。2:重传定时器定时器在tcp发送数据时设定。如果定时器已超时而对端的确定还没到达,tcp将重传数据,重传定时器的值是动态计算,取决于tcp为该链接测量的往返时间和该报文段已经被重传的次数。3:延迟ack定时器定时器在tcp收到必须被确定但是无需马上发

2015-03-28 23:10:10 439

原创 linux 下大量TIME_WAIT 的处理

Linux下高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少服务器的IME_WAIT套接字数量。  vi /etc/sysctl.conf  增加以下几行:net.ipv4.tcp_fin_timeout = 30net.ipv4.tcp_keepalive_time = 1200net.ipv4.tcp_sy

2015-03-27 23:42:45 431

原创 阻塞机制下的recv小结

recv是socket编程中最常用的函数之一,在阻塞状态的recv有时候会返回不同的值,而对于错误值也有相应的错误码,分别对应不同的状态,下面是我针对常见的几种网络状态的简单总结。      首先阻塞接收的recv有时候会返回0,这仅在socket被正常关闭时才会发生。      而当拔掉设备网线的时候,recv并不会发生变化,仍然阻塞,如果在这个拔网线阶段,socket被关掉了,后果可能

2015-03-27 23:31:59 439

原创 去腾讯数据中心后台面试

去的时候才知道自己不合适,是一个架构师的职位 也是T3-3的级别,做完了笔试题目, 感觉还行,我没有仔细做。面试官跟我聊那些笔试题目做错了,很仔细。问我做过设计过什么分布式架构。

2015-03-24 21:36:23 898

原创 Linux有用的命令

linux 有用的命令 在某个目录搜索替换 sed -i "s/old/new/g" `grep old  -rl .`

2015-03-21 17:28:50 496

ACE网络编程

经典ACE学习资料 ACE作为封装给用户 使用Refactor模式 给开发者带来了无比的快捷以及方便

2013-10-04

gdb使用手册

GDB开发的时候 经常使用调试 这个手册讲述了多线程如何调试程序 如何查看堆栈信息 能够快速定位BUG

2013-10-05

linux 内核锁pdf

欢迎进入 Rusty优秀的《 Unreliable Guide to Kernel Locking》细节。本文档描述 了Linux 2.6

2015-04-05

烈火战神服务端源码C++

烈火战神服务端C++源码可以编译 运行 AI系统 各个系统设计的精美巧妙 整体架构清晰 可以借鉴学习游戏服务端开发

2013-08-21

征途服务端源码

征途服务端源码 巨力共享 设计巧妙 号称同时在线 单服务器 5W人 是业内之最

2013-10-04

mt4api dll

MT4 api可以利用来 MT4登录查看报价 以及交易

2016-01-10

石器时代服务端源码

石器时代 是一款 比较古老的游戏 代码的风范比较老点 但是设计的思维还挺清晰的 采用select通信模式 具备可以学习 与参考的作用

2013-08-21

邮件自动发送

邮件自动发送 邮件发送器可以借鉴学习 本人实现过邮件发送器

2013-10-04

jpegoptim 图片压缩利器

1、linux优秀的图片压缩 2、/opt/runtime/jpegoptim/bin/jpegoptim --strip-all --all-progressive -o -f --max=<压缩比>

2020-11-14

robocode-1.9.2.1-setup.jar

java开发者可以学习bp机器人 Java -jar robocode-1.9.2.1-setup.jar 安装

2014-08-20

tolua不错例子

方便大家学习tolua++ 可以利用它来做胶水层

2014-07-23

游戏服务器框架

游戏服务器框架 可以学习借鉴游戏服务器开发

2013-10-04

金山剑网完整代码

金山剑网完整代码,服务器客户端都有 可以搭建起来,并且代码完整,是一个大型MMO动作类游戏来的。本人也有研究这个技术。

2015-03-27

内存数据库

内存数据库 属于KEY VAL的方式 值得应用与学习 内存数据库在游戏开发的中使用

2013-06-01

socket服务端客户端

socket服务端客户端 高效率的通信 可以借鉴 开发的网络服务 以及 网络游戏

2013-10-19

优秀的状态机

优秀的状态机 可以用于游戏的AI的设计 可以应用于自动化开发

2013-10-04

人工智能.pdf

游戏开发中的人工智能+中文+pdf 比较清晰 整本书围绕的AI

2013-09-05

lua 学习资料

LUA是一种脚本语言,主要用于游戏开发,方便快捷开发,可以提供热更新 LUA学习资料 很好由浅到深 写的很好

2015-05-21

迷你设计模式

讲述了设计模式 创建型 结构型 行为型 是学习软件必备的资料 有助于设计结构型的代码

2013-10-04

内存泄漏代码实现

如何在linux下检测内存泄漏 本文针对 linux 下的 C++ 程序的内存泄漏的检测方法及其实现进行探讨。其中包括 C++ 中的 new 和 delete 的基本原理,内存检测子系统的实现原理和具体方法,以及内存泄漏检测的高级话题。作为内存检测子系统实现的一部分,提供了一个具有更好的使用特性的互斥体(Mutex)类。

2015-04-27

内存检测工具

用于查询内存泄露最好的工具 以及内存错误

2013-10-21

il2cpp-master.rar

1、c#代码转换成c++ 代码,提高效率,能把c#代码提高接近c++的代码 2、这个逆向也可以用

2019-09-28

TEA加密算法

加密解密的速度快........ 是优秀的游戏服务端加密解密

2013-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除