- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 设计模式 -- 工厂模式(Factory)
工厂模式先来看看这样一个情形:假设我们在做一款大型多人在线网游,里面的怪物有成百上千种,这时怪物类我们很容易想到用多态去实现。即抽象出怪物共有属性,不同怪物类都继承这个基类。好,如果怪物类就这么封装,那么在需要怪物的地方都要new XX怪物类,那么会有几个这样的问题,1,客户程序员必须知道实际子类的名称(当系统复杂后,命名将是一个很不好处理的问题,为了 处理可能的名字冲突,有的命名可能并不是具有很好
2015-10-29 18:27:16 3421 1
原创 制作HTTP服务器端
HTTP概要理解Web服务器端: 编写HTTP(超文本传输协议)服务器端,即Web服务器端,我们可以这样定义它:基于HTTP协议,将网页对应文件传输给客服端的服务器端。HTTP是以超文本传输为目的而设计的应用层协议,这种协议同样属于基于TCP/IP实现的协议。 好,再来看看这样一个例子帮助我们理解:想想我们平时用浏览器打开某个网页,首先浏览器地址栏输入url确认,这其实就是向Web服务器端发送
2015-10-28 11:55:31 2750
原创 TCP/IP网络编程 基于Linux编程_4 --多线程服务器端的实现
线程基本概念前面我们讲过多进程服务器,但我们知道它开销很大,因此我们才引入线程,我们可以把它看成是一种轻量级进程。它相比进程有如下几个优点:线程的创建和上下文切换开销更小且速度更快。线程间交换数据时无需特殊技术。进程:在操作系统构成单独执行流的单位。 线程:在进程构成单独执行流的单位。 它们的包含关系是,操作系统 > 进程 > 线程。进程与线程具体差异其实是这样的,每个进程都有独立的完整内
2015-10-24 16:46:10 2392
原创 TCP/IP网络编程 基于Linux编程_3 --优于select的epoll
前言:关于并发服务器中的I/O复用实现方式,前面我们讲过select的方式,但select的性能比较低,并不适合以Web服务器端开发为主流的现代开发环境。因此就有了Linux下的epoll,BSD的kqueue,Solaris的/dev/poll和Windows的IOCP等复用技术。本章就来讲讲Linux下的epoll技术。epoll理解及应用基于select的I/O复用技术速度慢的原因: 1,
2015-10-20 16:36:20 2221
原创 TCP/IP网络编程 基于Linux编程_2 --I/O流分离的半关闭问题
理论基础流:调用fopen打开文件后进行文件读写操作会创建流,套接字网络通信也会创建流,流是以数据收发为目的的一种桥梁,其实就是指数据的流动,我们可以理解为数据收发的路径。I/O流分离:是指把数据的发送与接收流分开处理,由2个不同对象控制而不是交个1个对象。我们之前讲过2种I/O流分离的方法,第一种:通过调用fork函数创建子进程,父进程负责接收数据,子进程负责发送数据(学习笔记_11)。第二种
2015-10-13 15:04:51 1398
原创 Cocos2dx-- 资源热更新
前言:游戏上线后,我们常常还会需要更新,如新增玩法,活动等,这种动态的更新资源我们称为游戏的热更新。热更新一般只适用于脚本语言,因为脚本不需要编译,是一种解释性语言,而如C++语言是很难热更新的,其代码只要有改动就需要重新链接编译(接口统一,用动态库可以实现,不过太不灵活了)。 本章将讲讲用Cocos-lua引擎怎么实现热更新,其实Cocos自带也封装了热更新模块(AssetsManager, A
2015-10-12 17:56:10 13368 5
原创 Cocos2dx-- 聊天系统之富文本(RichText)与字体对齐
前言游戏开发中我们一般都会有聊天系统,我们可以同时或单独发文字,图片,表情,超链接等信息的文本即称为富文本。如下图所示: 我使用的是cocos-3.4引擎版本里的RichText富文本控件实现这些操作的,但cocos自带封装的RichText还有一些问题,1:如上图看到的一样,当中英文混输时右边字体没对齐(看需求,QQ都没处理这问题)。2:聊天信息有时会需求像上面一样还要一个背景底框装着,底框大小
2015-10-10 16:54:11 15832
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人