利用Web Socket技术实现client端与server端的连接(以Node.js作为服务器端)

简介:

几乎搞了一个工作日的时间,查找了很多的资料,学习,调试,最终终于把利用web socket方法,在node.js作为服务器的情况下,实现了client端与server端的交互,没办法,学习的过程就是这样,经历过痛苦之后,才能永生~~

虽然web socket这项技术早已经出来了,国外大概在10年就有人去研究,国内的我看最早的大概是在11年(也许有更早的,我没有看到相关资料罢了),而我呢,确是在这几天因为工作的原因,才知道这么个东西,才准备去学习一下。(要知道我学习java script才几天的时间,就在我写这篇文章的时候我还在学习什么是json,oh, my god! 好吧,我之前是搞C++的)。

其实我不太想让大家经历一遍我的痛苦,所以我直接把大家可能遇到最原始的问题发出来。

如果你安装好了node.js之后,并且按照网上大多数的讲web socket技术的资料上写的那样,用js 将服务器端和客户端都写好之后(这两个我相信大家都应该比我更容易掌握,毕竟我才刚接触js),实际上你就可以在命令行中直接运行node xxx.js程序就Ok 了,然后你用你的客户端去连接这个服务器地址,如果出现:TypeError: Object #<WriteStream> has no method 'flush', 直译就是找不到flush 方法。大家发现process.stdou.flush();不难发现这是一条类似于打印语句的东西,所以//掉它,结果发现问题更让人迷惑,最重要的是从来没有成功连接过,所以也不知道成功之后是什么样子的。

这个问题的原因可能在于大家下的一个web socket第三方库,也许你下载的地址是:

https://github.com/remy/html5demos/tree/master/server/ 这个网址真是害人啊,从网上看帖子说的原因是这个库不适用于node.js xx版本之后,因为node.js不断更新,这个库已经不跟着更了,这个有点坑人啊!所以最新的第三方库大家可以下载这个网址上的:

https://github.com/Worlize/WebSocket-Node 一试便成,好东西。然后所有的事情就解决了,可以安心看看代码,然后在其基础上进行修改了。

大家下载解压之后,运行WebSocket-Node-master\test目录下的echo-server.js,然后用自己写的客户端直接连http://localhost:8080  就行了,这个8080是echo-server.js文件里定义的。然后就能连上了,真是让人兴奋啊!

希望大家研究过web socket的人能一起多多交流,还有很多要和大家学习。










本文转自 我不会抽烟 51CTO博客,原文链接:http://blog.51cto.com/zhouhongyu1989/1290088,如需转载请自行联系原作者

目录
相关文章
|
11天前
|
机器学习/深度学习 JavaScript Cloud Native
Node.js作为一种快速、可扩展的服务器端运行时环境
Node.js作为一种快速、可扩展的服务器端运行时环境
24 8
|
14天前
|
JavaScript
使用Node.js创建一个简单的Web服务器
使用Node.js创建一个简单的Web服务器
|
21天前
|
JavaScript
使用node.js搭建一个express后端服务器
Express 是 Node.js 的一个库,用于搭建后端服务器。本文将指导你从零开始构建一个简易的 Express 服务器,包括项目初始化、代码编写、服务启动与项目结构优化。通过创建 handler 和 router 文件夹分离路由和处理逻辑,使项目更清晰易维护。最后,通过 Postman 测试确保服务正常运行。
37 1
|
1月前
|
缓存 负载均衡 监控
性能优化:Node.js高效服务器开发技巧与最佳实践
【10月更文挑战第29天】在Node.js服务器开发中,性能优化至关重要。本文介绍了几种高效开发的最佳实践,包括使用缓存策略、采用异步编程、实施负载均衡和性能监控。通过示例代码展示了如何实现这些技术,帮助开发者构建更快、更稳定的Node.js应用。
62 2
|
2月前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
702 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
2月前
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
|
2月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API服务器
【10月更文挑战第12天】使用JavaScript和Node.js构建简单的RESTful API服务器
22 0
|
2月前
|
弹性计算 安全 Windows
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
|
JavaScript
as3与node.js的socket通信
这里使用了一个单例的SocketManager类: 1: conn = new Socket(); 2: 3: conn.
852 0
|
21天前
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
23 2
2024年5月node.js安装(winmac系统)保姆级教程