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 永磁型步进电机PID算法
    • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
    • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
    • ¥15 如何处理复杂数据表格的除法运算
    • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
    • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
    • ¥200 uniapp长期运行卡死问题解决
    • ¥15 latex怎么处理论文引理引用参考文献
    • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
    • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?