这次给大家带来NodeJS怎么实现WebSocket功能,NodeJS实现WebSocket功能的注意事项有哪些,下面就是实战案例,一起来看一下。
我们基于express和socket.io开发,首先我们需要安装以下包
1
2
|
npm install --save express
npm install --save socket.io
|
服务器端代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
var app = require ( 'express' )();
var http = require ( 'http' ).Server(app);
var io = require ( 'socket.io' )(http);
app.get( '/' , function (req, res){
res.send( '<h1>Welcome Realtime Server</h1>' );
});
io.on( 'connection' , function (socket){
console.log( 'a user connected' );
socket.on( "disconnect" , function () {
console.log( "a user go out" );
});
socket.on( "message" , function (obj) {
io.emit( "message" , obj);
});
});
http.listen(3000, function (){
console.log( 'listening on *:3000' );
});
|
客户端代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<!DOCTYPE html>
<html lang= "en" >
<head>
<meta charset= "UTF-8" >
<title>Document</title>
<script src= "http://127.0.0.1:3000/socket.io/socket.io.js" ></script>
</head>
<body>
<ul id= "message" ></ul>
<script>
socket = io.connect( 'ws://127.0.0.1:3000' );
socket.emit( "message" , { "name" : navigator.userAgent, "msg" : "hello world" });
socket.on( "message" , function (obj) {
console.log(obj);
});
</script>
</body>
</html>
|
一个控制台版的聊天室做好了(^o^)/~
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Immutable.js怎样实现撤销重做效果
Vuex的mutations与actions使用详解
以上就是NodeJS怎么实现WebSocket功能的详细内容,更多请关注php中文网其它相关文章!