服務器端
安裝express,socket.io
npm install express --save-dev
npm install socket.io --save
app.js
const express = require('express');
const app = express();
var server = require('http').createServer(app).listen(8083);
var io = require('socket.io')(server);
io.on('connection', function(socket) {
// 想客戶端傳遞消息
socket.emit('news',{hello:'hello'})
// 接收並處理客戶端的hi事件
socket.on('start', function(data) {
// ....
})
// 斷開事件
socket.on('disconnect', function(data) {
console.log('斷開通話');
//socket.emit('c_leave','離開');
//socket.broadcast用於向整個網絡廣播(除自己之外)
//socket.broadcast.emit('c_leave','某某人離開了')
})
});
客戶端
安裝socket.io。
注意:這里不能npm install socket.io。這個是服務器端的插件應用。不是客戶端。
直接在index.html中引入socke.io。
這樣就可以用io這個變量了
<script src="https://cdn.bootcss.com/socket.io/2.2.0/socket.io.dev.js"></script>
$('#submit').click(function(){
var socket = io.connect('http://localhost:8080');
socket.on('news', function (data) {
alert(data.hello);
});
socket.emit('start',1)
// 可以用close()斷開連接。服務器端disconnect會監聽到
socket.close();
})
相關文檔api
https://github.com/socketio/socket.io-client/blob/master/docs/API.md