gpt4 book ai didi

javascript - 无法使用 Socket.IO 发送到 Node 服务器

转载 作者:行者123 更新时间:2023-12-03 11:25:13 26 4
gpt4 key购买 nike

我在项目中使用socket.io,但在向服务器发送数据时遇到问题,因此我设置了一个简单的测试用例。我创建了一个文件 index.html,并在 Google Chrome 中打开该文件(使用 file://地址):

<!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>

我的 Node 服务器上有这个非常简单的代码:

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.js 打印的 客户端已连接 消息。一切都很好。但我从未见过获取客户详细信息字符串。

我怀疑服务器出了问题,因为在 Chrome 的网络工具中我可以看到数据正在发送到服务器,至少我认为是这样的:

enter image description here

为什么我无法捕获客户端向服务器发送数据?

最佳答案

Per the docs ,如下:

io.on('connect', function(socket) {
console.log("Client connected");
});

io.on('clientDetails', function(socket) {
console.log("Got client details");
});

应该是

io.on('connect', function(socket) {
console.log("Client connected");

socket.on('clientDetails', function(data) {
console.log("Got client details");
});
});

关于javascript - 无法使用 Socket.IO 发送到 Node 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26940484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com