node.js - nodejs 如何在服务器端保存用户数据?
怪我咯
怪我咯 2017-04-17 13:25:26
0
0
739

我想在客户端与服务器建立连接后,利用socket.set保存数据。是不是nodejs,已经不支持这个set方法了。如果不支持,还可以用什么方法???

服务器端代码如下:
var app=require('express')();
var http=require('http');
var sio=require('socket.io');
var server=http.createServer(app);
app.get('',function (req,res) {

res.sendFile(__dirname+'/index.html')

});
server.listen(1337);
var socket=sio.listen(server);
socket.on('connection',function (socket) {

socket.on('set nickname',function (name) {
    socket.set('nickname',name,function () {
        socket.emit('send nickname',name);
    });
});
socket.on('get nickname',function (err,name) {    
    socket.get('nickname',function (err,name) {
        if(err) socket.emit('err',err.message);
        else socket.emit('send nickname',name);
    });
});

});

客户端代码如下:

<!DOCTYPE html>
<html>
<head>

<title>在服务器端保存用户数据</title>
<script src="socket.io/socket.io.js"></script>
<script type="text/javascript">
    var socket=io.connect();
    function setNickName() {
        socket.emit('set nickname',document.getElementById('nickname').value);
    }
    function getNickName() {
        socket.emit('get nickname');
    }
    socket.on('send nickname',function (data) {
        console.log('我的昵称为:'+data);
    });
    socket.on('err',function (data) {
        console.log('服务器端出错,错误信息为:'+data);
    })
</script>

</head>
<body>
昵称:<input type="text" id="nickname"/>
<input type="button" onclick="setNickName()" value="设置昵称"/>
<input type="button" onclick="getNickName()" value="获取昵称"/>

</body>
</html>

错误如下:
Missing error handler on socket.
TypeError: socket.set is not a function

路过大侠,还望伸出援手,指点一二。。。

怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(0)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan