文享日志

利用socket.io实现持续通信

WebSocket

发表于2017年12月05日02:21:10

0条评论 160次阅读

  微信上看了一篇文章,讲利用socket.io实现消息实时推送,自己试着写了个dome。。顺便可以为自己前些日子用ajax轮询写的聊天室改造做准备。。

首先用express搭建了一个服务器,引入socket.io。

const express = require('express');
const app = express();
const path = require('path');
const http = require('http').Server(app);
const io = require('socket.io')(http);
const port = 4001;

app.use(express.static(path.join(__dirname, 'public')));
app.get('/', function(req, res) {
    res.sendFile(__dirname + '/public/index.html');
});

//这里是核心
io.on('connection', function(socket) {
    console.log('已连接');
    socket.emit('send_message','asas');
    socket.on('user_login',function(req){
    	console.log(req)
    })
})

http.listen(port, function() {
    console.log(`listening on port:${port}`);
});

然后是客户端配置,这里的客户端是网页。

首先引入socket.io,其cdn地址为:

https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js
const msgSocket = io('http://localhost:4001');

msgSocket.emit('user_login', {
    userId:111,
    socketId: 'msgSocket.id',
    tokenId:'222'
});

msgSocket.on('send_message', function(req){
    console.log(req);
});

msgSocket.on('new_user',function(req){
	console.log(req);
})

仔细观察,还是比较简单的。就是服务器和客户端互相发射数据,监听数据。

参考:

socket.io官网:

        https://socket.io/docs/

吴锴的博客(利用socket.io实现消息实时推送):

        http://www.wukai.me/2017/08/27/push-message-with-socketio/



👍 0  👎 0
共有0条评论

发表新评论

提交

广告展示

腾讯云推广 阿里云推广