Node.js教程之如何使用socket.io和Node.js搭建及时通信系统
沉沙 2018-11-23 来源 : 阅读 959 评论 0

摘要:本篇教程介绍了Node.js教程之如何使用socket.io和Node.js搭建及时通信系统,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入。

本篇教程介绍了Node.js教程之如何使用socket.io和Node.js搭建及时通信系统,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入。

<

socket.IO是一个websocket库,包括了客户端的js和服务器端的nodejs。官方地址://socket.io

使用socket.io和nodejs搭建websocket服务器端

socket.io不仅可以搭建客户端的websocket服务,而且支持nodejs服务器端的websocket。

下面让我来介绍一下怎么安装配置nodejs.

进入//nodejs.org/#download下载msi文件。一直点next安装。最后文件会自动安装在C:\nodejs目录下。

安装完成后,会自动配置环境环境变量。如果没有自动配置,自己手动在path处加上 ;C:\nodejs\。

安装完成后,需要配置npm来管理node.js的模块。

在window下安装npm需要安装git。

安装完git后,打开gitbush。执行下面几步:

git config --system http.sslcainfo /bin/curl-ca-bundle.crt

git clone --recursive git://github.com/isaacs/npm.git

cd npm

node cli.js install npm -gf

第一个是设置不会有任何提示,第二步会到github上下载npm会有下载文件和进度,第四步是安装npm到node.js会复制几个文件cmd文件和mode_modules文件夹到nodejs目录。

这样就配置好了npm。

如果需要安装什么模块直接输入npm install ***。

没有npm的或者windows用户可以使用github下载socket.io并且放入到node_modules文件夹中,具体配置可以参考文章:《nodejs教程:配置nodejs.exe的windows目录结构》

nodejs安装socket.io

使用node插件管理包,运行下面的命令就可以安装成功socket.io

npm install socket.io

用socket.io 实现的一个例子

客户端代码:
Html代码  收藏代码
<html>  
<head>  
    <title></title>  
    <script src="../js/socket.io.client.js"></script>  
    <script type="text/javascript">  
        function doit() {  
            var socket = io.connect(‘//localhost‘);  
            socket.on(‘news‘, function (data) {//接收到服务器发送过来的名为‘new‘的数据  
                console.log(data.hello);//data为应服务器发送过来的数据。  
                socket.emit(‘my new event‘, { my:‘new data‘ });//向服务器发送数据,实现双向数据传输  
            });  
            socket.on(‘other‘, function (data) {//接收另一个名为‘other‘数据,  
                console.log(data.hello);  
                socket.emit(‘event1‘, { my:‘other data‘ });  
            });  
        }  
    </script>  
</head>  
<body>  
<button id=‘btn‘ onclick="doit()">click me</button>  
</body>  
</html>  


socket.io.client.js可以https://github.com/LearnBoost/socket.io-client下载到本地,在<script src="..">指向本机的js库。

服务器用nodejs实现
server2.js
Javascript代码 
var http= require(‘http‘), io= require(‘socket.io‘), express= require(‘express‘);  
var app = express.createServer(), io = io.listen(app);  
  
app.listen(80);  
  
io.sockets.on(‘connection‘, function (socket) {  
  socket.emit(‘news‘, { hello: ‘world‘ });//监听,一旦客户端连接上,即发送数据,第一个参数‘new‘为数据名,第二个参数既为数据  
  socket.on(‘my other event‘, function (data) {//捕获客户端发送名为‘my other event‘的数据  
    console.log(data.my);  
  });  
  
  socket.emit(‘other‘, { hello: ‘other world‘ });//发送另一个数据  
  socket.on(‘evnet1‘, function (data) {//捕获另外一个数据  
    console.log(data.my);  
  });  
});  

测试结果,客户端可正常显示


服务器端显示结果:

C:\java\Nodejs>node server2.js


注:代码要和npm_module在同一个目录下。不然会出现找不到socket.io module的错误。
   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注WEB前端Node.js频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程