
网游服务器
文章平均质量分 66
jphaoren
这个作者很懒,什么都没留下…
展开
-
【linux 编程】BSD Socket 简易入门手册
<br />转自:http://blog.youkuaiyun.com/fengyv/archive/2006/05/31/765482.aspx目录介绍类比 (什么是 socket ?)装上你的新电话(怎样侦听?)拨号 (如何调用 socket)谈话(如何通过 sockets 交谈)挂起(结束)世界语(交流的语言很重要)未来在你的掌握了(下一步?)<br /> 介绍<br />当你进入 UNIX 的神秘世界后,立刻会发现越来越多的东西难以 < type="text/javascript"> < type="text/原创 2010-09-13 17:50:00 · 636 阅读 · 0 评论 -
epoll精髓(转)
<br /><br />在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。<br />相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:<br />#define __FD_SETSIZE 1024<br />表示select最多同时转载 2010-10-21 17:29:00 · 687 阅读 · 0 评论 -
游戏服务器blog收藏
<br />http://www.cublog.cn/u3/104108/article_121544.html 主要是mangosd 一些模块的分析原创 2010-10-21 15:41:00 · 701 阅读 · 0 评论 -
服务器架构
<br /><br />游戏服务器的设计是一项颇有挑战性的工作,游戏服务器的发展也由以前的单服结构转变为多服机构,甚至出现了bigworld引擎的分布式解决方案,最近了解到Unreal的服务器解决方案atlas也是基于集群的方式。<br /><br />负载均衡是一个很复杂的课题,这里暂不谈bigworld和atlas的这类服务器的设计,更多的是基于功能和场景划分服务器结构。<br /><br />首先说一下思路,服务器划分基于以下原则:<br />1:分离游戏中占用系统资源(cpu,内存,IO等)较多转载 2010-11-01 13:23:00 · 721 阅读 · 0 评论 -
io端口临时记录
<br /><br />有了epoll 和iocp 之后,要做到高并发已经有了很好的基础了。但是真正要做好一个高并发的服务器却不是一件容易的事。 <br /><br />因为 epoll 和 iocp 只是提供了一个高效的事件通知机制,对于实现者来说,就是可以同时处理很多的句柄(比如 Socket,File等)而不用担心操作系统在事件通知上的消耗。 <br /><br />但同时我们可以看到,直接使用epoll 或者iocp ,要求是要直接使用底层的句柄,对于一些已经封装过的 api (比如原创 2010-11-01 13:22:00 · 709 阅读 · 0 评论 -
asio通信的两个小例子
<br /><br />ASIO的简单的通信的例子:<br />服务器端测试可用代码:<br /> <br />#include<ctime><br />#include<iostream><br />#include<string><br />#include<boost/bind.hpp><br />#include<boost/shared_ptr.hpp><br />#include<boost/enable_shared_from_this.hpp><br />#include<boost/asi原创 2010-11-05 16:49:00 · 2952 阅读 · 0 评论 -
网络游戏服务器设计浅析
转自:http://www.ha97.com/3461.html网络游戏服务器设计浅析 谈这个话题之前,首先要让大家知道,什么是服务器。在中,服务器所扮演的角色是同步,广播和服务器主动的一些行为,比如说天气,NPC AI之类的,之所以现在的很多网络游戏服务器都需要负担转载 2011-08-25 20:30:01 · 1052 阅读 · 0 评论 -
一个因为sql语句引起的服务器挂掉
没时间总结,有空的话再整理下。SQL LEFT JOIN 关键字Previous PageNext PageSQL LEFT JOIN 关键字LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (tab转载 2011-09-28 20:22:03 · 1239 阅读 · 0 评论 -
关于内存的资料
<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 · 778 阅读 · 0 评论 -
服务器中的内存管理 收集
<br />内存池:转自:http://blog.youkuaiyun.com/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 · 929 阅读 · 0 评论 -
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 · 801 阅读 · 0 评论 -
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 · 618 阅读 · 0 评论 -
没写完
<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 · 532 阅读 · 0 评论 -
高性能服务器底层网络通信模块的设计方法
<br />在对I/O完成端口进行底层封装的基础上,本文提出一种具有高性能的、可扩展性的通用网络通信模块设计方案。该方案采用多种系统性能优化技术,如线程池、对象池和环形缓存区等。该模块在Win32平台上用c++开发完成,经过严格的压力和性能测试后,实验结果表明该模块能够支持海量并发连接,具有较高的数据吞吐量,在实际项目应用中也取得了良好的表现。<br /> 1、概述<br /> 要设计与开发出一款高性能的服务器(如网游服务器、Web服务器和代理服务器等),一般都采用高效率的网络I/O模型。Linux平台转载 2010-09-19 11:16:00 · 1454 阅读 · 0 评论 -
ACE框架在网络游戏服务器中的设计与应用
<br />随着计算机网络的发展,特别是因特网的出现,数字娱乐和网络游戏产业得到了蓬勃的发展,异军突起的网络游戏成为中国网络产业中的先锋。而由于信息技术的进步,计算机、手机以及不同的传媒终端等不断涌现,如何将这些众多不同的终端通过互联网进行互联互动成为一大技术难点,而这些难点的突破取决于网络游戏服务器的开发。目前在各种服务器通信软件的设计和开发中,已经广泛地使用到软件设计模式。尤其在大型的服务器通信软件开发中常会采用模块化设计。当一个庞大的服务器系统执行任务时,往往要通过其中不同的模块进行协作完成,在这种情转载 2010-09-19 10:43:00 · 975 阅读 · 0 评论 -
理解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 · 461 阅读 · 0 评论 -
那谁的技术博客
<br /> 记下地址:http://www.cppblog.com/converse/category/3738.html原创 2010-09-21 16:52:00 · 637 阅读 · 0 评论 -
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 · 593 阅读 · 0 评论 -
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 · 572 阅读 · 0 评论 -
任务:要好好想想了
怎么测试服务器的效率和稳定性?原创 2010-09-26 16:29:00 · 499 阅读 · 0 评论 -
mysql 5.1 存储过程例子
CREATE PROCEDURE `temp_test`()begin declare a int; declare b int; declare c int;declare cur1 CURSOR for select aid from t_test;declare continue handler for not found set b = 1;op原创 2011-10-28 21:14:03 · 1919 阅读 · 0 评论