socket.io - ReferenceError:未定义套接字
Posted
技术标签:
【中文标题】socket.io - ReferenceError:未定义套接字【英文标题】:socket.io - ReferenceError: socket is not defined 【发布时间】:2013-07-10 09:32:00 【问题描述】:我正在尝试编写一个简单的应用程序,它将我在文本区域中键入的每个字符镜像到 div 使用 socket.io,但我不断收到以下客户端错误:“ReferenceError: socket is not defined”
这是我的服务器代码:
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>
有什么线索吗?我做错了什么?
【问题讨论】:
【参考方案1】:嗯,这不是很明显吗?您尚未在客户端代码中定义 socket
(这就是 ReferenceError 的含义):
jQuery(function($)
var socket = io.connect('http://localhost');
// the other code goes here
);
注意io
是socket.io.js
脚本中的全局变量。
【讨论】:
以上是关于socket.io - ReferenceError:未定义套接字的主要内容,如果未能解决你的问题,请参考以下文章
未找到 Socket.io.js(node.js + express + socket.io)