Node.js就不介绍了(如果你写JavaScript,就应该知道它)
看完那篇文章,依旧没有什么头绪,决定还是step by step…

在笔记本上跑东西就是比较吃力(况且还是低配置~),就懒得去开虚拟机了,决定直接用xp。
1、下载、解压
2、测试node.js
我下载该文档存放于D盘的QMDownload中,如图所示:
至于每个目录的文件内容暂时可不用管,重点是能让node.js能正常工作。我弄了一个test.js,然后在dos下进入该目录,测试node.js是否能正常工作。
node.js中的内容为:
console.log("Hello oschina!");
测试:
可以再写个例子:
环境应该差不多了。下面要开始用node.js写socketServer了
在谷歌里搜索了很多资料,本想基于一位老外写的模块进行测试,发现跑不起来。
启动的时候报找不到utils模块,折腾了半天,也没能跑起来,果断放弃了,继续寻找…
它的主页有例子,告诉使用者如何使用它的模块。
我下载了ws.js,然后将它放在node.js解压目录下的lib目录中D:\QMDownload\nodejs-0.4.6\lib\ws.js
然后基于这个模块写socket server(socket.js--存放于D:\QMDownload\nodejs-0.4.6目录下):
在这里我只是加了一个数组(socket池的概念),因为在测试中,我发现socket.write是可以反馈消息给客户端,但只是那个发送消息过来的客户端,如果要想对消息进行广播(broadcast),我尝试着这里去使用,但并不知道这样写是否有问题(暂时忽略吧~ 等以后有精力再仔细研究了)
接下来是前台页面了,这个相对简单一些,逻辑部分并不多,需要解决的事情:
1、判断当前浏览器是否支持:WebSocket
2、使用WebSocket中的几个常用方法:onopen、onclose、onmessage、send处于一下消息
HTML的源码:
</script>
<style type="text/css">
.error {color: red;}
.success {color: green;}
#console_wrapper {background-color: black; color:white;padding:5px;}
#console p {padding:0;margin:0;}
</style>
</head>
<body>
<h1>Web Socket Chat</h1>
<div id="server_wrapper">
<p>Server
<input type="text" name="host" id="host" value="ws://localhost:8082/" />
<input type="submit" name="host_connect" id="host_connect" value="重新连接" />
</p>
</div>
<div id="console_wrapper">
<pre id="console"></pre>
<input type="text" name="console_input" id="console_input" value="" />
<input type="submit" name="console_send" id="console_send" value="Send" />
</body>
</html>
如果使用flash进行socket进行连接,那么socket server先要返回一个security policy的字符串(解决安全沙箱的问题)
<a href="http://files.cnblogs.com/meteoric_cry/web_socket.rar">文章中使用的文件打包下载(包含ws.js、socket.js)>></a>