Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery socket.io-ReferenceError:未定义套接字_Jquery_Node.js_Socket.io - Fatal编程技术网

Jquery socket.io-ReferenceError:未定义套接字

Jquery socket.io-ReferenceError:未定义套接字,jquery,node.js,socket.io,Jquery,Node.js,Socket.io,我正在尝试编写一个简单的应用程序,将我在文本区域键入的每个字符镜像到 div使用socket.io,但我一直收到以下客户端错误:“ReferenceError:socket未定义” 这是我的服务器代码: var express = require('express'), app = express(), server = require('http').createServer(app), io = require('socket.io').listen(server);

我正在尝试编写一个简单的应用程序,将我在文本区域键入的每个字符镜像到 div使用socket.io,但我一直收到以下客户端错误:“ReferenceError:socket未定义”

这是我的服务器代码:

var express = require('express'),
    app = express(),
    server = require('http').createServer(app),
    io = require('socket.io').listen(server);

server.listen(3000);

app.get('/', function(req,res){
    res.sendfile(__dirname+ '/index.html');
});

io.sockets.on('connection', function(socket){

    socket.on('keyup', function(data){
        io.sockets.emit('keydisplay',data); 
    });


});
客户端代码:

    <div id="output"></div>
    <textarea id = "input"></textarea>

    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script src="/socket.io/socket.io.js"></script>

    <script>
        jQuery(function($){

            $('#input').keyup(function(){
                content = $('#input').val();
                socket.emit('keyup', content);

            });

            socket.on('keydisplay', function(data){
                $('#output').append(data);
            }); 
        });


    </script>

jQuery(函数($){
$('#input').keyup(函数(){
content=$('#input').val();
socket.emit('keyup',content);
});
socket.on('keydisplay',函数(数据){
$(“#输出”)。追加(数据);
}); 
});

有线索吗?我做错了什么?

嗯,这不是很明显吗?您没有在客户端代码中定义
socket
(这就是ReferenceError的意思):

请注意,
io
socket.io.js
脚本中的一个全局变量

jQuery(function($){
    var socket = io.connect('http://localhost');
    // the other code goes here
});