0
我在我的项目中使用了socket.io,并且无法向服务器发送数据,所以我设置了一个简单的测试用例。我创建了一个文件,index.html
这是我在谷歌浏览器已经打开(使用文件://地址):无法使用Socket.IO发送到节点服务器
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script type="text/javascript">
var socket = io('http://localhost:8080');
socket.emit('clientDetails', {hello: 'world'});
socket.on('connect', function() {
socket.emit('clientDetails', {hello: 'world'});
});
</script>
</head>
<body></body>
</html>
而且我有这个verys我的节点服务器上imple代码:
var app = require('http').createServer();
var io = require('socket.io')(app);
// Make the server listen on porr 8080
app.listen(8080);
io.on('connect', function(socket) {
console.log("Client connected");
});
io.on('clientDetails', function(socket) {
console.log("Got client details");
});
当我在Chrome中加载HTML页面时,我得到一个由Node打印的Client connected
消息。一切都很好。但我从来没有看到一个Got client details
字符串。
我怀疑有一些错误的服务器在寻找Chrome的网络工具,我可以看到数据被发送到服务器,至少我想这就是这是什么:
为什么我我无法捕获客户端发送数据到服务器?