这几天为了解决关于javascript执行时的一些sync/async问题,尝试了通过C/S的模式进行browser中运行的javascript和webserver的相互通信的消息机制。现记录如下:
环境准备:
Node.js
基于Node.js的一个简单框架
基于Node.js的一个websocket的框架 websocket-Node
相关代码:
http://code.google.com/p/my-linux-dev-tutorial/source/browse/#svn%2Ftrunk%2Fhtml5
分别尝试了3中方法
1. webworker + webserver
2. websocket + webserver
3. xmlhttprequest sync + webserver
三者都还是通过callback来响应server端的消息,不能很好的解决类似下面这种javascript的sequence执行的代码格式,最终的办法只能采用code splite的方式,把自己的javascript的工程按照callback的结构组织成合适的结构(也有各种js的precomile能帮我们做这些事情,这是其它的话题了)。
没什么高深的东西,关键还是各个浏览器内部对这几个方法的支持,后面会抽时间看一下chrome中对web socket的支持。希望能写一系列的相关文章喽:)
参考资料:
http://html5doctor.com/methods-of-communication/
http://www.html5rocks.com/en/tutorials/websockets/basics/