Commit 9163c6c4 authored by 何硕's avatar 何硕

初始化

parents
var app = require('express')();
var http = require('http').createServer(app);
var axios = require('axios');
var io = require('socket.io')(http);
var BaseUrl = "http://localhost/api/";
app.get('/', function(req, res){
res.send('<h1>Hello world</h1>');
});
io.on('connection', function(socket){
//监听用户登录
socket.on('login', function(obj){
var userid = obj.userid;
var roomid = obj.roomid;
var status = obj.status; //用户状态
socket.nickname = roomid+ '***' + userid;
console.log("login------------------"+socket.nickname);
axios.post(BaseUrl + 'websocket/login', {
roomid: roomid,
userid: userid,
status: status
})
.then(function (response) {
// console.log(response.data);
var str = socket.nickname.split("***");
var userid = str[1];
var roomid = str[0];
io.emit(roomid + 'Login', {userid: userid, roomid: roomid});
})
.catch(function (error) {
console.log(error.data);
});
});
//监听中断
socket.on('disconnect', function(obj){
console.log('user disconnected--------'+socket.nickname);
console.log(obj);
if (obj != 'client namespace disconnect') {
if (socket.nickname) {
axios.post(BaseUrl + 'websocket/disconnect', {
socketName: socket.nickname
})
.then(function (response) {
// console.log(response.data);
var str = socket.nickname.split("***");
var userid = str[1];
var roomid = str[0];
var user = response.data.data;
io.emit(roomid + 'BREAKCLASS', {userid: userid, roomid: roomid, user: user});
})
.catch(function (error) {
console.log(error.data);
});
}
}
});
//下课
socket.on('loginout', function(obj){
console.log("loginout----"+socket.nickname);
if (socket.nickname) {
axios.post(BaseUrl + 'websocket/loginout', {
socketName: socket.nickname
})
.then(function (response) {
// console.log(response.data);
var str = socket.nickname.split("***");
var userid = str[1];
var roomid = str[0];
var user = response.data.data;
io.emit(roomid + 'ENDCLASS', {userid: userid, roomid: roomid, user: user});
})
.catch(function (error) {
console.log(error.data);
});
}
});
//开课
// socket.on('STARTCLASS', function(obj){
// console.log("STARTCLASS----------------------------");
// io.emit('STARTCLASS', obj);
// });
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
\ No newline at end of file
This diff is collapsed.
{
"name": "liveserve",
"version": "0.0.1",
"description": "my first socket.io app",
"dependencies": {
"axios": "^0.19.0",
"express": "^4.15.2",
"socket.io": "^2.2.0"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment