`
朋在无锡
  • 浏览: 34320 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
       游戏并发量较大,主要有三方面需要特殊处理:并发,nio以及持久化.今天将自己项目开发中的多线程心得总结一下,入门不久,希望多交流指导.目前开发中处理并发主要用到一下方法:   synchronized.有锁定对象或者锁定mutext(互斥量),例如世界boss中血量的修改,所有玩家共享一个血量; 将客户端请求放入队列中,队列有单线程处理(executors.newSingleThreadExecutor).由于队列的先后顺序避免了加锁.例如在注册需要检查登录名字是否重复,将所有注册登录请求放入一个队列中处理; 每个玩家一个锁.维护一个map(playeri ...
出现一个异常提醒,  cannot find Asia/shanghai in zip file /usr/local/go/lib/time/zoneinfo.zip must have one register DataBase alias named `default`   其实是大小写问题 $ unzip -l -f /usr/local/go/lib/time/zoneinfo.zip | grep -i shanghai 172 07-06-2016 08:15 Asia/Shanghai root:pwd@tcp(10.9.46.22:330 ...
这里讲解在xp下面的golang环境配置. 你已经配置好了sublime text的golang开发环境,即可以运行helloworld,有代码自动提示.如果还未,参考 这里假设项目名字为projcetDemo,c盘建立如下文件夹结构c:\godemo\src\projectdemo.在下面建立一个main.go文件.如下图:  用sublime打开.然后选择保存到工程,我这里就用projectDemo作为工程名.如下图:  添加文件夹到工程,这里选择是projectDemo文件夹,结果如下图(前提是你安装了side bar):   打开sublime自动产生的工程文件,添 ...
/** 刚开始学习游戏开发时想找一个基于netty的游戏demo十分困难,工作一段时间后了解框架后将其分享出来; 该框架是从别人框架移植修改完善而来,不是我一个人写,算是借花献佛; 实际业务开发比此框架要复杂得多,去繁从简主在体现核心思想; 这是游戏开发入门的第2篇,如果有不完善的地方请多多指导. */  框架示意图如下,源代码参看:github:  客户端连接进来,由acceptor负责接入验证,创立channel后再转发给从线程池(workerReactor); package com.server.java.netty; import io.netty.boots ...
本人为游戏服务端开发者,开发中protobuf的解码操作比较麻烦,每次解码都需要写一大堆重复的代码,还需要处理错误,设计了一个工具类,现在将业务逻辑简化一下和除去业务敏感信息,发布出来,使用源码需要注意以下几点: 1.所有protobuf 消息基于 generatedMessage; 2.protobuf运行时需要配置protobuf.exe位置 3.反射比较耗费性能,设计中将反射等操作放在系统初始化进行,将结果放置到map中,业务运行时直接取出;. 4.开发中结合注解还能进一步简化配置,不需要添加class 到map中 5.对于编码错误,可能为第三方恶意尝试命令码,编码错误统一管 ...
 游戏项目,编码使用protobuf,这里将配置写下来,方便以后查找,同时给大家分享: 首先下载protobuf相关文件,需要两个:编译使用的protoc.exe和和jar包.有两种方法安装,推荐第二种. jar包下载地址:protobuf.jar,exe下载地址 是推荐用maven,如果你maven有使用镜像库(oschina)更好,具体配置如下: <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactI ...
  如果不知道选择哪款IDE,请参看谢大介绍:。我个人最喜欢sublime ,简单高效美观。 文章sublime安装不详细,参考这里: 按照上面安装后,通过CMD窗口运行helloworld程序,运行helloworld成功则配置结束.但部分XP系统可能会不正常,主要是无自动提示或者无法编译,具体为: Failed to construct ipc body: Encode Error: 'utf8' codec can't decode  byte 0xb2 in position 0: unexpected code byte 发现使用sublime+text3可以解决这个问题 ...
Global site tag (gtag.js) - Google Analytics