Клиентская сторона не может найти io

Я написал простую программу, в которой есть потребитель nodejs, потребляющий данные из kafka, а затем передающий данные клиенту с помощью socket.io, чтобы я мог отображать данные с помощью d3.

Однако я продолжаю сталкиваться с этой ошибкой на стороне клиента, которая не может найти io.

Я пытался использовать cdn и другие альтернативы в своем index.html, однако это не привело к какому-либо прогрессу.

Потребитель.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.info(message.value);
 });


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

Клиент.js

 //init socket 
var socket = io();
    //on message call update 
    socket.on('message', function(message){
      console.info(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>

пожалуйста, добавьте журнал ошибок здесь.

parlad 30.05.2019 15:13
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваша версия кажется немного устаревшей, а более старые версии 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>

Надеюсь, я был полезен!

Я поставил другое решение, пожалуйста, проверьте его!

FeaturedSpace 30.05.2019 15:08

Я попробовал ваш подход, у меня не сработало. Мне удалось решить проблему, это было со ссылкой src socket.io.js

Abhishek Malik 31.05.2019 09:00

Это то, что я написал в первом ответе :P

FeaturedSpace 31.05.2019 15:52

Извините, да, это было моей ошибкой. Это был действительно правильный ответ. Спасибо. Если вы отредактируете свой ответ, я отмечу его правильным.

Abhishek Malik 02.06.2019 11:49

Отредактировано! :D Большое спасибо

FeaturedSpace 03.06.2019 20:30

Другие вопросы по теме