Fork me on GitHub

使用nodejs可以很方便的进行网页直接的即时通信,在html5下有websocket,但是在IE6下只能使用长连接来实现。

这个游戏也是我的练习之作。简单说一下实现原理,后面有时间把代码整理一下发出来:

在网页端使用ajax和服务端建立一个连接(路径为:/pull,方法:post),在服务端检测此请求,但不会立即返回,直到服务端消息队列有消息需要推送才发送出来,客户端收到消息以后 处理消息 然后继续请求,再次建立长连接。这个链接是服务端到客户端的通道。

如果网页端需要请求服务端的方法则建立一个连接(路径为:/push,方法:post),服务端接到请求,并调用相应方法,然后把接口从上一个通道(pull)发给客户端。由于连接是即时断开的,分辨客户端采用的是express的session。

注:连连看游戏部分的代码来自:sunxing007(http://blog.csdn.net/sunxing007)

请点http://findme.aliapp.com进入阿里云试玩。(注意:游戏中超过一分钟不动作会被踢出来)

本来是想用dnode来做RPC协议的,但是阿里云各种不给力还有IE6这个老古董也不支持websocket,所以才花时间用长连接实现。

现在可以和朋友在网上一起玩连连看啦!

作者:YoYo,原文地址:http://yoyo.play175.com/p/node_rpc_game.html


Tags: nodejs

无觅相关文章插件,快速提升流量