//服务器
var app = require('express')();
var http = require('http').Server(app);
const io = require('socket.io')(http);
//ProceduceSet = new require("./proceduce-set")();
app.get('/', function(req, res){
res.send('
Welcome Using WebGIS Server
');});
io.on('connection', function(socket){
console.log('a user connected');
socket.on('login',function (obj) {
//var res = ProceduceSet.login(obj);
var res = {
id:"12345678900",
icon_num:12,
state:true
};
socket.emit('login_res',res);
});
});
http.listen(3050, function(){
console.log('listening on *:3050');
});
//浏览器
function login(){
const serverURL = "ws://localhost:3050";
var email = document.getElementById("inputEmail").value;
var psw = document.getElementById("inputPassword").value;
var icon_num = 1;
var obj = {
request:'login',
id:email,
pwd:psw,
icon_num:icon_num
};
var socket = io.connect(serverURL);
socket.on('connect', function () {
console.log("connected to server!");
socket.emit('login', obj);
});
socket.on('login_res', function (res) {
if (res.state = true) {
alert("登录成功!");
user_obj.id = res.id;
user_obj.icon_num = res.icon_num;
user_obj.state = 'logged';
}
else
alert("登录失败!");
socket.emit('disconnect');
return res.state;
});
}
最后服务器端的socket.emit('login_res',res);执行完后浏览器的socket.on('login_res', function (res)监听不到是怎么回事儿,拜求各位大佬指点。