文档章节

Hemlock--开发多人实时web应用的flash框架

奔小康
 奔小康
发布于 2010/10/25 21:51
字数 514
阅读 810
收藏 3

Multi-user real-time web 应用目前是一个热门的方向, 如上个月Google Wave的demo就有很酷的real-time gadget demo。这些实时的web应用包括普通的web协同应用,web game, 各种SNS扩展应用及SNS game等。

此类应用前端实现有两种方式,socket/flash或ajax方式。为了达到实时效果,使用轮询的ajax通常占用服务器资源过大,目前逐渐被comet方式代替。服务器的实现通常需要开发者自行实现基于业务的socket server,但自己实现的server通常存在性能及可扩展性的问题,因此实现全部功能需要投入大量的开发精力。

Hemlock是一套适合此场景的可扩展框架。它后端使用XMPP MUC chatroom作为多人交互应用的通道,通过flash长连到XMPP Server上。由于XMPP Server(如openfire, ejabberd等)本身就支持多服务器,因此使用默认的版本就可以支持上十万的并发,如果稍加优化,同时支持上百万用户也不会有太大问题。

比如下图是用Hemlock实现一个多人聊天的实时白板程序,真实demo

(图片来源:Fancy a draw? Hemlock in action)

另外官方网站还有一个football3s多人足球游戏的demo。

安装Hemlock的文档可参阅http://hemlock-kills.com/learn,文档是以ejabberd为例的,经Tim验证也可安装在openfire/Linux上。唯一需要注意的配置是SERVER必须和xmpp domain一致。开发的环境需要用到Flex SDK, Java, Ruby, Rake等。

Hemlock底层使用jive的XIFF library, 在XMPP的基础上做了多人交互数据包的封装,并且大部分编程都可以基于事件机制,比较容易上手。大部分Web Game都有生命周期短,开发周期要求短的特点,因此使用Hemlock可以节约大量底层开发时间,有兴趣的朋友不妨一试。

© 著作权归作者所有

奔小康
粉丝 5
博文 37
码字总数 30540
作品 0
北京
架构师
私信 提问
游戏 socket 服务器开发 --SilverFoxServer

SilverFoxServer 是专门为 H5 设计的跨平台 websocket 服务器,让开发者高效地开发多人应用及游戏。该服务器主要用来创建多玩家游戏。并提供强大的制作工具,各种回合制游戏和实时游戏都可以...

SilverFoxServer
2015/06/23
1K
9
PHP聊天室框架

PHP聊天室框架 http://www.workerman.net/doc workerman-chat是一个以workerman作为服务器容器,使用PHP开发的基于Websocket协议的一个可分布式部署的聊天室框架。 workerman-chat采用gatew...

james_laughing
2016/06/27
48
0
github上值得关注的前端项目

综合/资源 frontend-dev-bookmarks 一个巨大的前端开发资源清单。 front-end-collect 分享自己长期关注的前端开发相关的优秀网站、博客、以及活跃开发者。 Front-end-Interview-questions 史...

施长成
2016/08/16
33
0
Unity如何将项目发布到如此多的平台?

  【IT168 技术】很多Unity的开发者是不是都会觉得Unity能把项目导出发布到那么多不同的平台上运行是件很牛X的事情?那么你有没有想过Unity是如何做到的呢?本文就来大体的聊一聊Unity做的这...

cnblogs
2016/06/20
0
0
html5为什么能替代Flash?搞不懂

最近关于HTML5吵得火热,很多人认为HTML5出现会秒杀Flash,以至于在各大web前端开发论坛吵得不可开交。论坛里三言两语说的不够 尽兴,只好在自己一亩三分地里敞开了说说。也当一次神棍,展望...

zyt_1978
2016/04/26
49
0

没有更多内容

加载失败,请刷新页面

加载更多

Leetcode PHP题解--D88 696. Count Binary Substrings

D88 696. Count Binary Substrings 题目链接 696. Count Binary Substrings 题目分析 给定一个01字符串,返回仅用连续的0和1串所能组成的二进制字符串个数。 例如,00110011,就包含0011,0...

skys215
今天
2
0
基础工具类

package com.atguigu.util;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import com.alibaba.druid......

architect刘源源
今天
45
0
P30 Pro劲敌!DxO官宣新机:排行榜又要变

5月26日晚间,DxOMark官方推特预告,将在5月27日公布一款新机型的DxOMark评分,猜猜是哪款? 网友猜想的机型有:红米K20、谷歌Pixel 3a、索尼Xperia 1、诺基亚9 PureView等。 DxOMark即将公布...

linux-tao
昨天
16
0
Ubuntu18.04.2窗口过小不能自适应(二次转载)

解决Ubuntu在虚拟机窗口不能自适应 2018年09月06日 16:20:08 起不了名儿 阅读数 855 此博文转载:https://blog.csdn.net/nuddlle/article/details/77994080(原地址) 试了很多办法这个好用 ...

tahiti_aa
昨天
2
0
死磕 java同步系列之CountDownLatch源码解析

问题 (1)CountDownLatch是什么? (2)CountDownLatch具有哪些特性? (3)CountDownLatch通常运用在什么场景中? (4)CountDownLatch的初始次数是否可以调整? 简介 CountDownLatch,可以...

彤哥读源码
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部