自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 问答 (1)
  • 收藏
  • 关注

win7下flex日志输出

今天被win7下的flex日志输出墨迹了1个小时。。。记录下来,留给后来人。首先要安装flash debug调试,然后把mm.cfg拷贝到C:\Users\{用户名}下,日志输出位置为C:\Users\{用户名}\AppData\Roaming\Macromedia\Flash Player\Logs文件夹下。最后推荐一套flex的日志框架http://code.google.com/p/...

2010-04-13 21:12:50 129

原创 多selector应用

dennis_zane 写道    随着并发数量的提高,传统nio框架采用一个Selector来支撑大量连接事件的管理和触发已经遇到瓶颈,因此现在各种nio框架的新版本都采用多个 Selector并存的结构,由多个Selector均衡地去管理大量连接。这里以Mina和Grizzly的实现为例。   在Mina 2.0中,Selector的管理是由org.apache.mina.transp...

2009-11-03 17:24:48 142

原创 基于事件的NIO多线程服务器

线程模型NIO的选择器采用了多路复用(Multiplexing)技术,可在一个选择器上处理多个套接字,通过获取读写通道来进行IO操作。由于网络带宽等原因,在通道的读、写操作中是容易出现等待的,所以在读、写操作中引入多线程,对性能提高明显,而且可以提高客户端的感知服务质量。所以本文的模型将主要通过使用读、写线程池来提高与客户端的数据交换能力。如下图所示,服务端接受客户端请求后,控制线程将该请...

2009-11-01 12:39:49 113

倾城源码导读之二

上一篇我是对消息类中用到的bytebuffer类进行了解释。这篇就简单的解释下消息类。先看message类,它是对消息进行了封装,没有什么特别的地方。AppMessage类继承与消息类,此类的作用是对消息进行初始化并提供了消息的复制。其中我们要注意的是,此类中定义了很多常量,其作用是赋值给type,识别消息类型。AppMessageCodecFactory实现MessageCodecFactory...

2009-11-01 09:39:34 224

倾城服务器源码解读(一)

第一次把代码解读写出来,可能不够理想还请大家包含。对于游戏源码的欣赏,我一般只看一个地方通信层。所以我的解读也就只针对通信曾。当全部代码解读完后,我将对倾城通信层的设计与实现提出意见,以及希望各位高手也可以参加到讨论中来。文中有不正确,或我没有理解的地方请大家一起指出讨论,谢谢。倾城的网络层server源码在deff.net和app.net下。我是以消息对象为入口点开始分析的,在消息对象的设计中有...

2009-11-01 09:37:35 337

原创 解决TCP网络传输“粘包”问题

当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API)。TCP/IP传输层有两个并列的协议:TCP和UDP。其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP(user datagram protocol,用户数据报协议)是无连接的,提供高效率服务。在实际工程应用中,对可靠性和效率的...

2009-11-01 02:03:44 74

原创 Socket开发之通讯协议及处理

在Socket应用开发中,还有一个话题是讨论的比较多的,那就是数据接收后如何处理的问题。这也是一个令刚接触Socket开发的人很头疼的问题。因为Socket的TCP通讯中有一个“粘包”的现象,既:大多数时候发送端多次发送的小数据包会被连在一起被接收端同时接收到,多个小包被组成一个大包被接收。有时候一个大数据包又会被拆成多个小数据包发送。这样就存在一个将数据包拆分和重新组合的问题。那么如何去处理...

2009-11-01 01:33:21 86

小谈网络游戏同步

同步在网络游戏中是非常重要的,它保证了每个玩家在屏幕上看到的东西大体是一样的。其实呢,解决同步问题的最简单的方法就是把每个玩家的动作都向其他玩家广播一遍,这里其实就存在两个问题:1,向哪些玩家广播,广播哪些消息。2,如果网络延迟怎么办。事实上呢,第一个问题是个非常简单的问题,不过之所以我提出这个问题来,是提醒大家在设计自己的消息结构的时候,需要把这个因素考虑进去。而对于第二个问题,则是一个挺麻烦的...

2009-10-21 16:39:45 83

原创 网络游戏数据传输和防火墙穿越

一般来说,client和server之间的数据交换,分为几个优先级,大部分情况下是下面3种:1. 不可以丢失,但是不要求速度。2. 不可以丢失,但是要求速度,确并不是非常严格。3. 可以丢失,但是要求速度对于1来说,最直接的例子就是聊天信息,动态的地图信息。这些数据不是time-critical的,所以应该使用TCP连接。 在大多数情况下,有专门的  voice/chat server和map...

2009-10-20 00:23:27 102

原创 Java 理论与实践: 流行的原子

十五年前,多处理器系统是高度专用系统,要花费数十万美元(大多数具有两个到四个处理器)。现在,多处理器系统很便宜,而且数量很多,几乎每个主要微处理器都内置了多处理支持,其中许多系统支持数十个或数百个处理器。 要使用多处理器系统的功能,通常需要使用多线程构造应用程序。但是正如任何编写并发应用程序的人可以告诉你的那样,要获得好的硬件利用率,只是简单地在多个线程中分割工作是不够的,还必须确保线程确实大...

2009-10-20 00:19:16 68

原创 Java 理论与实践: 正确使用 Volatile 变量

Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 volatile 变量的模式,并针对其适用性限制提出一些建议。 <!--START ...

2009-10-19 23:48:14 66

原创 Java多核线程笔记-volatile的原理与技巧

 volatile, 用更低的代价替代同步为什么使用volatile比同步代价更低?同步的代价, 主要由其覆盖范围决定, 如果可以降低同步的覆盖范围, 则可以大幅提升程序性能. 而volatile的覆盖范围仅仅变量级别的. 因此它的同步代价很低.volatile原理是什么?volatile的语义, 其实是告诉处理器, 不要将我放入工作内存, 请直接在主存操作我.(工作内存详见java内存模型)...

2009-10-19 22:54:46 49

原创 Java中的transient,volatile和strictfp关键字

 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如:Java代码 class T {      transient int a;  //不需要维持      int b;  //需要维持   }  class T { transient int a; //不需要维持 int b; //需要维持...

2009-10-19 22:31:22 79

原创 对象的序列化和反序列化

当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。把Java对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为Java对象的过程称为对象的反序列化。对象的序列化主要有两种用途:1) 把对象的字节序列永久地保...

2009-10-19 22:25:17 130

原创 serialVersionUID的作用

java在序列化的时候涉及到很多检查,serialVersionUID就是其中一个。 那这个serialVersionUID有什么用处? 这个值可以由类指定,也可以不指定。如果不指定的话java会根据class计算serialVersionUID,相当于hash的原理(但不是hash不要混淆),只要类没有变化,计算出来的serialVersionUID也会变化。 它用在反序...

2009-10-19 22:02:12 85

原创 串行化

定义 串行化(Serialization)是计算机科学中的一个概念,它是指将对象存储到介质(如文件、内在缓冲区等)中或是以二进制方式通过网络传输。之后可以通过反串行化从这些连续的字节(byte)数据重新构建一个与原始对象状态相同的对象,因此在特定情况下也可以说是得到一个副本,但并不是所有情况都这样。特性  串行化有以下但不局限于这些优点:  1.串行化是一种更好地使用类持久化的...

2009-10-19 21:47:32 211

空空如也

servlet调用问题

2009-05-21

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

TA关注的人

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