【求助】谁知道 node-websocket-server 框架怎么用,麻烦帮忙看一下
发布于 3年前 作者 kiloo 3565 次浏览

本人是名在校大三学生,刚接触nodejs不到一个星期,看了node入门

然后主要是想用nodejs结合websocket和WebGL搞一个小开发,正好在本站和其他地方都有许多讲nodejs与websocket结合的文章,其中在websocket服务器方面,很多都使用了node-websocket-server框架,能做出比如聊天室的例子,相信很多朋友也读过.但我现在的问题是,为什么那么多的例子好好的,源码到我电脑上就不行了呢?! 希望有人能帮助我创建一个好使的nodejs服务端


一个一个说

首先是本站的一篇文章用node.js和Websocket来做个多人聊天室吧 安装好nodejs和node-websocket-server,并下载源码后,运行时发现websocket服务器不能正常运行,在网页聊天界面中出现[网络连接已被关闭...]字样

然后是一篇广为转载的文章基于WebSocet简单聊天室(NodeJS + node-websocket-server) 其中服务端的js代码与客户端的html代码都很详细,但是运行却不能达到效果,究其原因好像是从onopen事件不会被触发,是不是ws服务器也没正常开启?

最令我不解的是下面这个例子猛击 点进去你就会发现这是完全可以用的,也是通过node-websocket-server框架实现.但下载了服务端和客户端的源码自己来做,却也不能实现.网页中总提示Socket closed


现在求助如下,能帮助解决如下任何一条的人,我都对你万分感激!

1.以上三个node-websocket-server的例子,为什么我实现不了,亲们你能实现么?希望能帮我找到问题

2.不管是否使用node-websocket-server框架,在websocket服务器应该怎么开,为什么总是开不开

3.如果有别的可以使用的nodejs+websocket的例子,可以用的,告诉我下也可以

ps.有网友说可能是版本标准之类的问题,是不是文章时间比较久了,现在Chrome新标准导致这些例子都不能用了?那有现在能用的例子么?

最后,希望大家共同努力,让此文能帮到更多nodejs初学者!

11 回复

还有个叫socket.io的东西

ls说的是个好东西

今天试验了一下socket.io这个模块,能正常运行,你可以试试,就是客户端要引用的socket.io.js文件是你电脑里socket.io文件夹里的文件,服务器没启动前是找不到的,可以先写成:

<script type="text/javascript" src="/socket.io/socket.io.js"></script>

启动之后就能看到了,它提供的API函数也蛮简单的.

首先非常感谢你的帮助! 我装好了socket.io模块,也可以正确启动服务器了(控制台中输出info-socket.io started) 但是为了验证其运行,我需要一个客户端,就像你说的.那么有服务端-客户端的例子么(两头都有的)? 我在http://socket.io/网站上看了那个例子,我的服务端也是那样开的,但我有个疑问,它客户端给的是<script>代码.客户端不应该是一个html文件么?我有点晕乎.

希望您能分享下经验,越详细越好,多谢您了!

有没有试过运行这个例子呢?http://js8.in/792.html 我觉得这个例子很好啊,很清晰,我也成功运行了。 不知道为什么这里没有转载呢?

我也是刚开始接触nodejs,一起努力吧。。

我试了一上午怎么还不行,我怀疑要么是node版本问题,要么是chrome版本问题…真是倒霉. 请问你用的node.exe版本是多少?最好能发给我 email:[email protected] 多谢了

对了,你发那个例子.我运行之后页面显示’正在连接到服务器…’ 一直是这样就是连不上.我所有的问题都是连不上,从来没连上过.我也没弄防火墙什么乱七八糟的,难道有什么需要设置的?打开websocket?

额,不清楚呢,我用虚拟机装ubuntu,然后装nvm,然后装node v0.6.9。。连不上的原因是不是没有把node_modules这个文件夹放好?

你在ubuntu里运行的么? 我是在win7平台上,但我看别人也有win7上成功的例子,还是奇怪

node-websocket-server好像实现了多个websocket协议版本 chrome应该用的draft76吧,试试把版本换成draft76试试

我之前也写过一个基于websocket的聊天室,用的socket.io, 很好用而且目前测试的浏览器都支持(他客户端部分是独立实现的脚本)

@kiloo socket.io有服务器端和客户端脚本两部分,客户端部分是一个js脚本,你可以通过他的CDN远程载入,也可以自己下下来,地址是https://github.com/LearnBoost/socket.io-client,下dist就行了,里面是打包好的客户端脚本,当然你也可以在服务器上建立一个httpserver,然后把socket.io绑到上面,这样socket.io会自动将客户段部分帮你载入,直接用就行了。

回到顶部