- 博客(23)
- 资源 (34)
- 收藏
- 关注
翻译 一日一点RakNet(27)--Custom Memory Management
内存管理 覆盖new,delete,malloc,free和realloc函数 用户系统提供定制的内存管理函数,在RakMemoryOverride.cpp中的函数可以实现这些功能。 在这个文件中定义了三个全局指针,预定义默认如下: void* (*rakMalloc) (size_t size) = RakMalloc;
2012-03-30 08:39:08 1154
原创 JavaEE开发学习笔记(2)
8. 使用继承GenericServlet类的方法来开发Servlet 这个类是javax.servlet包中的一个类,提供这个类简化了servlet的开发 在继承了GenericServlet类的子类中,只需要重写service方法即可,也就是要重写实现用户自己业务逻辑的函数方法。 与实现Servlet接口类似,也是打印一个“Hello world
2012-03-30 08:34:36 1514
翻译 一日一点RakNet(26)--Preprocessor Directives
预处理指令 在RakNetDefinesOverrides.h文件中定义了下面这些值。在RakNetDefines.h中这些都是作为默认设置。在NativeFeatureIncludes.h文件中,不要编译那些你用不到的功能。 // 定义 __GET_TIME_64BIT变量使得RakNet::TimeMS使用64位保存数据,而不是32位值。// 32位值在使用
2012-03-27 18:34:15 1222
翻译 一日一点RakNet(25)--NAT traversal architecture
NAT穿透的结构 结合如何使用UPNP,NAT类型检测,NAT穿透,以及Router2,使得P2P连接迅速而有效完成。 RakNet 使用了4个独立的系统,每一个系统都解决了无法连接到其他系统问题的一部分问题。这些系统是: 1. NAT类型检测 –发现是否我们有路由器,以及路由限制类型是怎样。 2. UPNP – 告诉路由打开指定
2012-03-24 14:45:49 3229
翻译 一日一点RakNet(24)--Rackspace Interface
Rakspace 云服务器API的C++接口 用编程的方式管理应用服务器 Rakspace提供了基于API的HTTPS,具体的API信息可以在连接中找到(http://docs.rackspacecloud.com/servers/api/v1.0/cs-devguide-20110112.pdf)。使用TCPInterface时,RakNet支持HTTPS,编译时需要将R
2012-03-21 17:47:55 1175
翻译 一日一点RakNet(23)--Cloud hosting
如何使用RakNet设置云端主机服务? 通过Rackspace实现云端主机服务一些服务,例如Autopacher,Cloud Server,以及NAT穿透服务器,要求一个运行了RakNet的服务器。当可以使用额外的主机例如Hypernia或dx.net运行这些服务时,这些服务器一个月大概要$150。扩展服务也要求浪费时间安装代码库,不可能使用编程地实现。 RakNet使
2012-03-20 13:02:13 1211
翻译 一日一点RakNet(22)--Secure Connections
安全连接 确保网络传输安全 一旦在线游戏达到了一定的流行程度,人们就开始尝试作弊。那么你就需要在游戏层和网络层考虑这个这个作弊或欺骗问题。RakNet通过提供安全连接来处理这些问题,当然你也可以不使用这个机制。 RakNet提供了使用256位传输层安全的数据安全解决方案。每一个域服务器连接都拥有一个256位的椭圆曲线密钥协议实现前向安全保护。
2012-03-18 12:04:25 1789 2
翻译 一日一点RakNet(21)--Statistics
统计 如何读取RakNet的统计数据,以及如何解析统计数据 统计数据对于在线的游戏非常重要,因为它可以让你看到你游戏的传输瓶颈在什么地方。关于统计功能,RakNet提供了结构体RakNetStatics,由RakPeerInterface中的GetStatics()函数返回。这个结构体在Source/RakNetStatics.h中定义。函数StaticsToString(
2012-03-17 17:18:14 1157
翻译 一日一点RakNet(20)--NetworkIDObject
网络ID对象 NetworkIDObject 和NetworkIDManager类允许使用普通的ID查询指针 NetworkIDOjbect类是一个可选类,可以将自己的类从这个类派生,那么你的类就自动赋值标识数字(NetworkID)。这种方法对于多玩家游戏特别有用,否则你必须有自己的方法动态的访问远端系统上分配的对象。 在RakNet 4中,Netw
2012-03-16 08:46:04 1249
原创 到底怎么了?
到底怎么了? 不知道为何,内心总是不平静,难道仅仅是那句“其实是害怕失去!”。其实是害怕失去,一点没错:当自己一无所有的时候,无论如何也没办法失去,无论如何失去,也仅仅是徘徊于一无所有。但是一旦自己得到了一些东西,就会开始患得患失,生怕丢掉了自己已经拥有种种。只是现在不曾看到自己拥有了什么,也不知道自己在害怕丢失什么。怎能将他人的失去,当作自己的得到呢?太幼稚了。记住:你一
2012-03-15 23:31:06 868
翻译 一日一点RakNet(19)--Timestamping your packets
时间戳 如何在不同的计算机上相同的时间帧内相应同一个事件 时间戳与本地系统时间并无关系。很不幸,每个系统都有不同的本地系统时间。如果仅仅通过网络发送获得的本地系统时间,你得到的时间是其他机器上得时间,这条消息除了告诉你发生了什么之外,没有其他有价值的信息了,因为你仅仅知道你自己的系统时间,其他人的系统时间都是不知道的,因此你不知道这个事件在你本机要什么时候触发。RakNet
2012-03-13 14:25:58 1508
翻译 一日一点RakNet(18)--Network Messages
网络消息 从网络引擎发来的消息 你接收到的一些数据包并不是使用你定义的类型,从你的代码中发送过来,而是从网络引擎中发来的消息。然而,你需要知道他们代表了什么含义,如何处理。每一个数据包的第一个字节,来自于API,会映射到如下列举的一些枚举类型。可能的接受方列举在了括号中,使用PakcetLogger::BaseIDTOString()将这些枚举类型转换为字符串。//
2012-03-12 17:42:00 2441
翻译 一日一点RakNet(17)--Reliability Types
可靠性类型: 控制何时如何使用数据包优先级和可靠性类型// 发送数据的时候,使用这些枚举类型设置数据类型enum PacketPriority{ // 最高优先级。这些0消息立即发送,通常不会进行缓存或与其他数据包聚集 // 为一个数据报。 在HIGH_PRIORITY优先级的数据或者更低优先级的 // 数据进行缓存,
2012-03-11 08:56:22 2123 1
转载 Qualnet在VC++下的调试
Qualnet在VC++下的调试 开始用Qualnet设计了一个协议,然后进行调试,用printf()语句将需要看的值打印输出到终端,最初的调试过程真是苦不堪言。后来,听人说可以在Visual Studio 6.0的环境中进行Debug,今天尝试了一下,后悔当初没有仔细看文档。这里将调试过程介绍如下,详细内容见Qualnet的用户手册。 1、首先
2012-03-09 09:24:16 1062
翻译 一日一点RakNet(16)--BitStream
BitStream概述 BitStream类是在RakNet命名空间下的一个辅助类,用一个封装的动态数组来打包和解包bits。它具有如下的四个优势: 1. 动态创建数据报。 2. 数据压缩。 3. 写入Bits。 4. 数据字节序转换。 使用结构体打包数据,需要提前预定义结构体,并且将它们转化为(
2012-03-09 08:06:02 3082
翻译 一日一点RakNet(15)--SystemAddress
系统地址(SystemAddress) SystemAddress是什么?SystemAddress是包含了网络上系统的二进制的IP地址和端口的结构体。结构体在RakNetTypes.h中定义。在一些情况下需要使用SystemAddress,例如: 1. 服务器从一个特殊的客户端获取一个消息,想要中继(转发)给所有的其他客户端。你需要在Send函数中指定发送者的Syst
2012-03-08 19:57:47 1618
翻译 一日一点RakNet(14)--Recieving Packets
接收数据包当一个数据包到来时,例如Receive返回一个非零,处理这个数据包需要三步:1. 确定数据包类型。使用如下的代码可以返回这个类型值。 unsigned char GetPacketIdentifier(Packet *p) { if ((unsigned char)p->data[0] == ID_TIMESTAMP)
2012-03-06 12:52:45 1689 2
翻译 一日一点RakNet(13)--Send Packets
发送数据包 第一步:确定数据正如在Creating Pakcets中描述的,找出你需要使用的数据类型,使用bitstream或结构体。第二部:确定授权(authority这个词我也不太清楚如何翻译,只是理解意思) 你通常会发送动作的触发数据,而不是一系列动作的结果。通常来讲,数据源分为如下三类: 来自做出动作的函数 来自做出动作的函数
2012-03-05 21:43:47 2483 3
翻译 一日一点RakNet(12)--Creating Packets
创建数据包 如何将游戏数据编码到数据包中 运行RakNet的系统,事实上所有在因特网上的系统,都是通过人们所熟知的数据包进行通信。或更加准确点在UDP下,它用的是数据报。每一个数据报由RakNet创建,并且包含了一条或多条消息。消息可以由你创建,例如位置或健康(health这个词确实不知道如何翻译好),或者有时由RakNet内部创建的数据,例如pings。按照惯例,消息的第
2012-03-04 15:03:04 2442
原创 JavaEE开发学习笔记(1)
JavaEE开发学习笔记(1)1. JavaEE的学习顺序Servlet —> Jsp —> Structs —> Hibernate —> Spring —> Ejb 2. 安装Tomcat Tomcat安装完成之后需要给它配置 TOMCAT_HOME目录,也即Tomcat 的安装目录 检验Tomcat是否安装成功:
2012-03-03 21:42:04 1317
转载 重新设置Tomcat管理员用户名和密码
重新设置tomcat 登录时用户名和密码 TomcatXML.原来的tomcat-user.xml是:==================================== ==================================== 这里role 只有t
2012-03-03 21:34:38 22050
转载 QUALNET介绍
QUALNET介绍 QualNet简介一、 网络仿真的定义和作用1、 什么是网络仿真系统 定义:网络仿真技术是一种通过建立网络设备、链路和协议模型,并模拟网络流量地传输,从而获取网络设计和优化所需要地网络性能数据地仿真技术。网络模型不仅可以在实施之前预测拓扑和设备规划,还有助于在网络的运行中保持其有效性。2、 为什么要使用网络仿真系统
2012-03-02 19:38:10 6758 1
翻译 一日一点RakNet(11)--Connecting
连接到其他的系统 寻找连接目标 有5个方式来发现要连接到的系统: 1. 直接输入IP地址(这个广为人知)。 2. LAN广播 3. 使用ClientServer/CloudClient插件 4. 使用游戏大厅服务器或房间插件 5. 使用目录服务器DirectoryServer选择1:输入IP地址
2012-03-02 13:32:20 3445
InspectPDBContent
2015-10-08
MFC Window 应用程序设计 任哲等(完整的书,非分块)
2014-03-27
ActionScript 3.0安全沙箱及相关问题资料
2012-07-21
flashplayer debug 版
2012-03-02
RakNet 的DLL库文件
2012-02-21
MFC Windows 应用程序设计
2011-05-16
MFC Window 应用程序设计 任哲等
2011-05-16
MFC Windows 应用程序设计 任哲等
2011-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人