自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

二进制的意境

醉倚青松赏算法, 闲敲程式观落花

  • 博客(23)
  • 收藏
  • 关注

原创 游戏服务端开发入门

x 是做服务端开发的,windows的书不用看了,机制跟Linux很多都不同的 linux不熟悉先看台湾鸟哥的那本《鸟哥的linux私房菜》繁体版,简体版的语言太装B不好看,之后把C语言学扎实,做到可以在linux系统自己建立开发环境,写点简单的Makefile,这些推荐看《系统程序员成长计划》,这本书虽然垃圾但是提到的知识点都很实用,适合速成。看完这些你基本可以写些小例程了。之后看APUE,就是UNIX环境高级编程,然后UNIX网络编程UNP,其实UNP的很多内容跟APUE有重复,建议挑着看看就好了,用时

2011-01-10 12:36:00 1723 1

原创 Ansi、Unicode、UTF8字符串之间的转换和写入文本文件

<br />转载请注明出处http://www.cppblog.com/greatws/archive/2008/08/31/60546.html<br /><br />最近有人问我关于这个的问题,就此写一篇blog<br /><br />Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个/0结尾,常用于txt文本文件<br />Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的/0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned sho

2010-12-22 16:24:00 823

转载 高性能服务器架构(High-Performance Server Architecture)

<br /><br />High-Performance Server Architecture<br />高性能服务器架构<br />来源:http://pl.atyp.us/content/tech/servers.html<br />译文来源:http://www.lupaworld.com/home/space-341888-do-blog-id-136718.html<br />(map注:本人看了一遍,“于我心有戚戚焉”,翻译得也很好,于是整理了一下,重新发布,备忘)引言<br />本文将与你分

2010-12-03 14:41:00 4402

转载 我开发Linux服务程序的工作环境搭配

原始问题如下:问:<br />老师,可以写一篇文章介绍一下如何使用vim搭建好用的linux开发环境吗?(比如vim如何设置快捷键可以做到一键编译和运行,常用的插件如何安装等)<br />答:<br />我不会用vim,也从不用。<br />问:<br />听说实际工程中,可以在windows下写代码然后放到linux下编译,但是每改一个文件就要上传到linux,好像很麻烦,肖老师可以写一篇文章介绍一下如何在windows写linux下软件的代码的文章吗?主要是如何管理文件。谢谢。<br />答:<br /

2010-12-03 14:23:00 1133

原创 服务端程序的keeplive

首先就看一下KeepAlive出现的原因吧: 当一个客户端向服务器发送http请求时,两者之间会建立一个tcp连接,然后服务器发回响应信息同时关闭连接。如果请求的的页面中含有别的资源连接,比如图片、flsah等,就会再次创建连接。KeepAlive的作用就是在第一次创建连接时,服务器会把这个tcp连接保持一段时间(服务器端会有一个keepaliveTime的最大时间,超过时间就断开连接)。这样就不会频繁的去建立tcp连接,同一次请求中的信息传递都可以使用同一个tcp连接。 KeepAlive的工作原理: 在

2010-12-01 08:54:00 5877

原创 spserver剖析之HS/HA模式

《POSA2》上对所谓的half-sync/half-asyn模式的描述如下: 半同步/半异步体系结构模式将并发系统中的异步和同步服务处理分离,简化了编程,同时又没有降低性能(通常网络模型中异步模型性能明显高于同步模型,但编程难度要复杂得多并且难于调试)。该模式引入了两个通信层,一个用于异步服务处理,另一个用于同步服务处理。     这个模式最早是由著名的ACE的作者的一篇文章文章提出,其主要思想就是用异步的方式来处理IO操作,而用同步的方式来处理业务逻辑,同步和异步之间使用一个队列作为缓冲。需要同步处理的

2010-11-30 07:59:00 1742

原创 spserver地图

1127111423--4536---Listen on port [8080]1127111423--4536---Thread #2688 has been created to accept socket--2688---acceptThread AcceptEx1127111423--4536---[ex@act] Thread #5112 has been created for executor1127111423--5112---SP_Executor::eventLoop #

2010-11-29 13:30:00 1383

原创 目标:巨人网络!

多线程网络:tcp/ip详解、unix网络编程stlc++luamysqllinux:unix 环境高级编程、shellmangos

2010-11-23 16:25:00 1061 1

原创 spserver 开源服务器框架研究与分析

网上开源的C/C++服务器框架 还是比较少的。 最近研究了 spserver , 里面用了较多的设计模式,使用设计模式的目的是把不变的东西和可变的东西分离并且封装起来,避免以后修改代码, 应用设计模式的书里面讲的就是 “对修改关闭,对扩展开放”,但是滥用设计模式会把简单的问题复杂话了。spserver代码量比较少,比较容易看懂,如果只是做一个简单的echo服务器的话,spserver 可以给新手一个快速搭建服务器的框架。用vld测试后, 发现spserver有很多内存泄露的地方。并且 ms

2010-11-22 16:04:00 1750 2

原创 编译ASIO之unresolved external symbol _WinMain@16 解决方案

编译ASIO下的http server sample新建的项目是win32控制台空项目,编译链接时出现unresolved external symbol _WinMain@16错误。原因:建立了一个WINDOWS应用程序,可是你却在入口函数的时候使用main而不是WinMain

2010-11-19 09:37:00 765

原创 下一站

<br />工作地点:上海职位类别:技术类招聘人数:1工作职责:QQ影像客户端后台开发,主要从事网络开发工作要求:计算机或相关专业本科及以上学历;具有较丰富网络编程开发经验;具有良好的计算机专业知识基础,对数据结构、操作系统、算法等专业知识掌握良好具有良好的C/C++编程能力,具有良好的编程风格和快速开发的能力;熟悉Windows平台编程;熟悉多线程编程和程序调试技巧;具有较丰富的软件开发和项目经验,能独立优质完成功能模块;具备良好的学习能力和分析解决问题能力;责任心强,良好的对外沟通和团队协作能力;

2010-11-09 08:59:00 689

转载 libevent跨平台事件驱动库简介

(1) a new Connection 进来,用 fork() 产生一个 Process 处理。 (2) a new Connection 进来,用 pthread_create() 产生一个 Thread 处理。 (3) a new Connection 进来,丢入 Event-based Array,由 Main Process 以 Nonblocking 的方式处理所有的 I/O。

2010-11-08 13:29:00 2938 1

转载 腾讯公司后台服务器经典面试题

这次面试, 总的来说准备不够充足, 所以这次机会没有青睐我!也有其它一些问题:1, 对于一般的面试提问, 总是想很简要的回答完。因为对方可能本来就很清楚,所以自己就想一两句话说完。 但是有时候这样行不通。需要适当的回答清晰、完整一些。2, 对TCP/UDP的问题本来是很熟悉的,但因为长时间没复习,忘的差不多了。3, 以前已经对RTSP进行了仔细的学习。 HTTP、SIP属于同一类协议。而我却回答不了HTTP的问题。努力学习啊................4, 有些问题要问我两遍,说明我

2010-11-08 08:51:00 1399

原创 VS之“无法启动调试 没有正确安装调试器”解决方案

试图运行项目时出错:无法启动调试 没有正确安装调试器  当你遇到“试图运行项目时出错:无法启动调试 没有正确安装调试器。请运行安装程序安装或修复调试器”,请尝试下面的操作可以解决你的问题:  1、请确定你的操作系统是否运行在debug模式下,此时VS.NET将不能调试。  2、确定你的项目已经启动了“非托管代码”调试选项。

2010-10-30 15:37:00 2082

转载 Unicode UTF8 VC 文件

<br /><br />////////////Unicode与UTF-8转换//////////////////////////////////////////////////<br />/*<br />*Unicode转换成UTF-8<br />*@param strUnicode: 待转换的CString<br />*@param szUtf8:转换后的UTF-8<br />*@return :返回UTF-8格式的长度<br />*/<br />int CImpIEFav::UniToUTF8(CSt

2010-10-28 14:04:00 716

原创 项目驱动学习大法

回顾我的技术学习之路,其实还是项目驱动学习是最快、最有效的。这其实是逼出来的,boss们扔给我一个任务是不会管你会不会,有没兴趣的。我能做的唯有硬着头皮做!

2010-09-29 17:26:00 3528 11

转载 Real Hacker (1) :Fabrice bellard

这个世界是从来不缺乏天才的.立志成为天才的朋友们,先来看看今天介绍的这位天才程序员吧.

2010-09-29 15:31:00 917

原创 榜样学长——杨骏

我不奢求我的一点研究体验能够引起广泛的共鸣,但只要有一个人读了之后能有所启发,并对他今后的学习工作产生积极的影响,我就将心满意足。同时,为了让大家觉得我的感受有所参考价值,我先简要说一下我的一些研究成果,因为“不能让人致富的哲学是没有人听的” :-)

2010-09-27 12:06:00 2773 1

原创 gcc调用规范

Linux Hacking中,gcc通常有三种规范:cdecl、fastcall、pascal。cdecl:c语言缺省规范,参数首先由有向左压入堆栈。所不同的是,函数本身不清理堆栈,调用者负责清理堆栈。由于这种变化,C调用约定允许函数的参数的个数是不固定的,这也是C语言的一大特色。

2010-09-26 15:24:00 2068

原创 郎咸平:牛校学位不好拿

【游戏神通:老郎是我佩服的一位学者,只因在那些顶级期刊的论文,在这背后的是要付出些艰辛的。一直想了解他在沃顿时的历程,然而似乎只有一本书提到了,今天摘下以供参阅】

2010-09-25 12:05:00 1919 2

原创 C++中的const关键字和volatile关键字

volatile的语法与const一样,但是volatile的意思是“在编译器认识的范围外,这个数据可以被改变”。它告诉编译器不要擅自做出有关数据的任何假定---在优化期间这是特别重要的。

2010-09-24 14:21:00 671

原创 谈谈getchar()

getchar函数在被调用时从文本流中读入下一个输入字符并将其作为结果值返回。(The c programming language,P9)

2010-09-24 14:10:00 598

转载 暗时间

如果你有一台计算机,你装了一个系统之后就整天把它搁置在那里,你觉得这台计算机被实际使用了吗?没有。因为CPU整天运行的就是空闲进程。运行空闲进程也是一天,运行大数据量计算的程序也是一天,对于CPU来说同样的一天,价值却是完全不一样的。大脑也是如此。

2010-09-24 13:17:00 744

空空如也

空空如也

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

TA关注的人

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