HUANG-27 2018-10-14 01:08 采纳率: 0%
浏览 1148
已结题

Nodejs+socketio实现server和browser通信

//服务器
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)监听不到是怎么回事儿,拜求各位大佬指点。
  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号
    • ¥50 安装pyaudiokits失败
    • ¥15 计组这些题应该咋做呀
    • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?