我正在尝试编写一个简单的应用程序,它将我在文本区域中键入的每个字符镜像到一个 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>
任何线索?我做错了什么?
答案 0 :(得分:10)
socket
(这就是ReferenceError的含义):
jQuery(function($){
var socket = io.connect('http://localhost');
// the other code goes here
});
请注意,io
是socket.io.js
脚本中的全局变量。