首页 > 解决方案 > JADE 文件未加载 socket.io

问题描述

我知道这可能是一个愚蠢的问题,但我正在学习如何使用 WebSockets,但我遇到了麻烦;这是我连接套接字服务器的地方

var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(global.server);
server.listen(8080, function() {
  console.log('Servidor corriendo en http://localhost:8080');
  });
 io.on('connection', function(socket) {
  console.log('Un cliente se ha conectado');
   socket.emit('messages', messages);
   });

它在终端中工作我得到正确的消息,在客户端视图中我有类似的东西;

extends ../layout
block content
script(src="http://localhost:3000/socket.io/socket.io.js")
script(src='/javascripts/Enfermero/main.js')

还有那个观点的js....

var socket = io.connect('http://localhost:8080', { 'forceNew': true });

socket.on('messages', function(data) {
console.log(data);
 });

在资源管理器上,我总是得到:

GET http://localhost:3000/socket.io/socket.io.js net::ERR_ABORTED 404 (Not Found)
main.js:1 Uncaught ReferenceError: io is not defined
at main.js:1
(anonymous) @ main.js:1

你们能帮帮我吗?我做了一些研究,但我有点不明白发生了什么。

标签: node.jswebsocketsocket.io

解决方案


而不是使用script(src="http://localhost:3000/socket.io/socket.io.js")尝试使用参考路径script(src="<path to socket.io>/socket.io/socket.io.js")

另外,我认为它io是通过以下方式初始化的:

socket = io('http://localhost');
socket.connect();

在此处参考客户端 api 的文档:https ://socket.io/docs/client-api/

希望这可以帮助 :)


推荐阅读