我是做java游戏服务器的新人 要求写个 连接 以及负载测试 不知道该如何下手 求点代码膜拜

我是做java游戏服务器的新人 要求写个 连接 以及负载测试 不知道该如何下手 求点代码膜拜,第1张

1LoadRunner:支持多种常用协议多且个别协议支持的版本比较高;可以设置灵活的负载压力测试方案,可视化的图形界面可以监控丰富的资源;报告可以导出到Word、Excel以及HTML格式。

2WebLoad:webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能用户创建的是基于javascript的测试脚本,称为议程agenda,用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能。

3E-Test Suite:由Empirix公司开发的测试软件,能够和被测试应用软件无缝结合的Web应用测试工具。工具包含e-Tester、e-Load和e- Monitor,这三种工具分别对应功能测试、压力测试以及应用监控,每一部分功能相互独立,测试过程又可彼此协同。

4QALoad:(1)测试接口多;(2)可预测系统性能;(3)通过重复测试寻找瓶颈问题;(4)从控制中心管理全局负载测试;(5)可验证应用的扩展性;(6)快速创建仿真的负载测试;(7)性能价格比较高。此外,QALoad不单单测试Web应用,还可以测试一些后台的东西,比如SQL Server等。只要它支持的协议,都可以测试。

5Benchmark Factory: 首先它可以测试服务器群集的性能;其次,可以实施基准测试;最后,可以生成高级脚本。

6JMeter:是开源测试工具,专门为运行和服务器负载测试而设计、100%的纯Java桌面运行程序。原先它是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。它和HTTP和SQL(使用JDBC)的模块一起运行。它可以用来测试静止或活动资料库中的服务器运行情况,可以用来模拟服务器或网络系统在重负载下的运行情况。它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。

7WAS:是Microsoft提供的免费的Web负载压力测试工具,应用广泛。WAS可以通过一台或者多台客户机模拟大量用户的活动。WAS支持身份验证、加密和Cookies,也能够模拟各种浏览器和Modem速度,它的功能和性能可以与数万美元的产品媲美。

8ACT:或称MSACT,它是微软的Visual Studio和Visual Studionet带的一套进行程序压力测试的工具。ACT不但可以记录程序运行的详细数据参数,用图表显示程序运行情况,而且安装和使用都比较简单,结果阅读方便,是一套较理想的测试工具。

9OpenSTA:它的全称是Open System Testing Architecture。OpenST的特点是可以模拟很多用户来访问需要测试的网站,它是一个功能强大、自定义设置功能完备的软件。但是,这些设置大部分需要通过Script来完成,因此在真正使用这个软件之前,必须学习好它的Script编写。如果需要完成很复杂的功能,Script的要求还比较高。当然这也是它的优点,一些程序员不会在意编写Script的。

10 PureLoad:一个完全基于Java的测试工具,它的Script代码完全使用XML。所以,编写 Script很简单。它的测试包含文字和图形并可以输出为HTML文件。由于是基于Java的软件,因此PureLoad可以通过Java Beans API来增强软件功能。

Java游戏开发要学什么?所谓的游戏开发编程语言其实有很多,基本上任何一种语言都可以作为游戏服务器的编程语言。这需要根据自己游戏的类型和要求加以选择。比如C++,Java,Erlang,go等等。目前我用过的只有C++和Java但是以Java为主。所以接下来就以自己的经验,谈谈以Java为核心的游戏服务器开发技术体系。

Java目前作为游戏服务器开发语言已经很是普遍。但是大多数是作为页游或手游的服务器,而端游戏一般选择C++,因为端游对服务器的性能要求相对比较高一些。两种语言各有利弊。C++效率高,但是掌握度难些。没有Java易于掌握。而目前对于追求快速上线率的页游和手游来说,Java成了一个不错的选择。

一、Java的技术系统

需要学习的技术:

(1)Java基础知识

(2)JavaNIO编程

(3)Netty,Mina网络框架精通一种,其它作为了解。

(4)一种缓存框架:Redis;memcache熟悉使用一个。

(5)SQL语言,用于数据库:mysql数据库

(6)springmvc主要用于http协议的服务器

(7)多线程编程,明白线程安全的重要性。

(8)Java并发集合的掌握。

(9)Linux常用的基本命令及shell脚本。

(10)数据库操作,比如mybatis。

以Java为服务器编程语言来说,掌握Java的基本知识就不必说了,是必不可少的。可以参考《Java编程思想》,《Java核心技术》等书。根据游戏通信协议的不同,大致有两种实现方式:Socket和http。先说简单些的http协议,这个协议已经很成熟的应用到了网站上。而Java语言也可以用于网站开发,所以相当就简单些。现在有很多开源的服务器软件,比如:tomcat,resin等。游戏前端不管是页游flash,还是手游的Android,IOS都支持http协议,只要把游戏的逻辑数据按post方法向服务器发出请求即可了。

二、学习流程

当然了,学习这些东西并不是一蹴而就的。需要根据实践循环渐进,这里推荐一个学习流程:

(1)对于初学Java的人来说,如果自学能力好些,可以买些书自己练习,而现在又更的多选择参加Java培训机构,以快速的掌握Java的知识。

(2)掌握了Java知识之后,要多写代码实践。这个时候可以结合mysql学习SQL语言,掌握数据库的操作。比如用springmvc写一个小网站,用mybatis实现网站数据的增,删,改,查等功能。

(3)完成上步之后,可以在服务器程序和数据库之间加一个缓存,学习redis或memcache。

(4)把程序部署到linux服务器上,练习linux的基本命令及shell脚

免责声明:内容来源于公开网络,若涉及侵权联系尽快删除!

1 功能模块话,模块间用接口交互

2 数据与逻辑分离,要不将接口替换后,数据处理异常困难

处理好这两部分后,基本的小问题就可以热更了,但是要想做到大版本修改,涉及模块接口修改就有问题,当然你也可以通过各种文件配置,实现接口也可以修改,但是太麻烦了

这是某个大牛的方法,没有验证过,不知道可行否

游戏开发分为服务器开发和u3d的开发。

java可以做网络游戏的服务器开发。但是使用java做游戏服务器开发的不多,大多数都是使用C写服务端代码。所以Java并不太适合做游戏开发。

如果你想转行做游戏开发,做游戏前端可以自学unity和C。后端服务器开发自学C。

跟你提供一种思路,用客户端对象封装一个状态类用对象流传递,但是 不是用死循环随时同步,而是当两边数据有变化,或者需要的时候同步,比如A减去一行,发出一个信号,B接收到再取出对象中的数据显示出来,同理两边就可以同步显示了。如果你要做的更加的复杂可以加入更多的发送对象的时间,比如,当A按下左键,A的界面上方块向左走了,这个要同步的话也可以,你只需要发给B一个指令,这个指令封装了代表A按了左键的信息就可以了,B读出指令中的数据然后按照规则显示出来就可以了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 我是做java游戏服务器的新人 要求写个 连接 以及负载测试 不知道该如何下手 求点代码膜拜

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情