博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用Web Socket技术实现client端与server端的连接(以Node.js作为服务器端)
阅读量:6706 次
发布时间:2019-06-25

本文共 1117 字,大约阅读时间需要 3 分钟。

几乎搞了一个工作日的时间,查找了很多的资料,学习,调试,最终终于把利用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第三方库,也许你下载的地址是:

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

 一试便成,好东西。然后所有的事情就解决了,可以安心看看代码,然后在其基础上进行修改了。

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

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

本文转自 我不会抽烟 51CTO博客,原文链接:http://blog.51cto.com/zhouhongyu1989/1290088,如需转载请自行联系原作者
你可能感兴趣的文章
BZOJ 2594: [Wc2006]水管局长数据加强版 [LCT kruskal]
查看>>
通过百度获取IP地址对应的经纬度
查看>>
cordova 常用插件
查看>>
使用kubernetes创建容器一直处于ContainerCreating状态的原因查找与解决
查看>>
H264 介绍[1]
查看>>
将大数组里面的小数组平行展开的实现(Making a flat list out of list of lists in Python)...
查看>>
echarts 显示下载按钮,echarts 自定义按钮,echarts 添加按钮
查看>>
HDU 1556 Color the ball
查看>>
Zabbix使用总结
查看>>
面试题2(选择题)
查看>>
C# Label显示多行文本及换行(WinForm/WebForm)
查看>>
java SSL Server
查看>>
Finding Similar Items 文本相似度计算的算法——机器学习、词向量空间cosine、NLTK、diff、Levenshtein距离...
查看>>
20:球弹跳高度的计算
查看>>
Discuz常见小问题-如何修改自己发布的帖子
查看>>
[Angular] Using directive to create a simple Credit card validator
查看>>
C++11 右值引用和转移语义
查看>>
C语言 · 字符串的展开
查看>>
Exception的ToString()方法究竟返回的是什么
查看>>
linux下的静态库与动态库
查看>>