gpt4 book ai didi

node.js - 客户端找不到io

转载 作者:太空宇宙 更新时间:2023-11-04 01:30:05 26 4
gpt4 key购买 nike

我编写了一个简单的程序,它有一个nodejs消费者,消费来自kafka的数据,然后使用socket.io将数据传输到客户端,以便我可以使用d3渲染数据。

但是我一直在客户端遇到这个错误,它找不到 io。

我尝试在我的index.html中使用cdn和其他替代方案,但没有取得任何进展。

消费者.js

var options = {
fromOffset: 'latest'
};

var express = require('express');
var router = express.Router();

// Kafka-node initilizations.
var kafka = require('kafka-node'),
Consumer = kafka.Consumer,
client = new kafka.KafkaClient(),
consumer = new Consumer(
client,
[
{ topic: 'trial1', partition: 0 }
],
[
{
autoCommit: false
},
options =
{
fromOffset: 'latest'
}
]
);


consumer.on('message', function (message) {

router.get('/', function(req, res, next) {
res.render('index', {title: 'Test', condition: false});
});
console.log(message.value);
});


// Display error messages if any.
consumer.on('error', function (err)
{
console.log('ERROR' + err.toString());
});

客户端.js

 //init socket 
var socket = io();
//on message call update
socket.on('message', function(message){
console.log(message)
});

index.html

<html>
<head>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
</head>
<body>
<script>
var socket = io.connect();
</script>
<div>This is our socket.html file</div>
</body>
</html>

最佳答案

您的版本似乎有点过时,旧版本的 Socket.IO 只有服务器版本和客户端是分开的(socket.io-client.js 曾经是一个单独的包)。

确保您使用的是正确版本的 Socket.IO(您可以从 https://cdnjs.com/libraries/socket.io 获取)

像这样:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js"></script>

另请确保使用此格式:

<script>
var socket = io('my.ip'); // NOT io.connect();
... // Rest of code
</script>

希望对您有所帮助!

关于node.js - 客户端找不到io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56378858/

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