节点js和Socket.io问题

时间:2017-03-23 20:31:46

标签: javascript node.js socket.io

首先,我做了一些教程,如: https://socket.io/docs/ &安培; http://www.programwitherik.com/getting-started-with-socket-io-node-js-and-express/ &安培; 我已经关闭的聊天教程,所以没有链接。

但对于他们所有人来说都一样。文件夹node_modules存在,服务器正在运行(名为app.js或index.js)并且index.html打开。但是在每个版本和每个测试中,我都没有从客户端到服务器进行通信。在其中一个问题中,这里写了一个关于一个有趣的安装路径的人。那么可能是缺少某些东西或安装在错误的文件夹中,需要额外的许可还是类似的东西?!

我还安装了nodejs new,在用户/ apps /中设置了像其他人一样的路径,但也遇到了同样的问题。哪里可以找出出了什么问题?!有没有办法跟踪服务器是否在正确的位置获得所有文件?!

代码是基本的,只是你好世界的东西。所以我想知道为什么这不会工作。

编辑: 没有非常特别的代码可以与您分享。它的基本! 服务器(app.js)

var app = require('http').createServer(handler)
var io = require('socket.io')(app);
var fs = require('fs');

app.listen(80);

function handler (req, res) {
  fs.readFile(__dirname + '/index.html',
  function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }

    res.writeHead(200);
    res.end(data);
  });
}

io.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

客户端(index.html)

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

在我的情况下,这个来自socket.io docs的一个样本就是它的端口。如果我将其更改为1337,它将拒绝连接。 (只是在没有任何浏览器更改的情况下使用crome进行测试或类似的事情)我也会测试

之类的内容
var socket = io();

以及我在搜索解决方案时阅读的许多其他内容。所以也许它可以帮助其他人,同时他们按照教程中的步骤更改端口而不使其可用或打开它。我认为这一直是问题所在。 我很好地管理别人如何管理它,同时编写一个关于它的文档或教程,但没有人会告诉它,当端口出现问题时它无法工作。无论如何,我将使用edit2-3更新这个以及我已经制作的其他教程,并且还将添加它如何与其他端口一起工作,如果没有其他人在这里做。

编辑2: 现在也完美无缺:

var socket = io();

<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>

以及

<script src="/socket.io/socket.io.js"></script>

文件夹现在也可以使用: 无

res.sendFile(__dirname + '/index.html');

/app
 |- app.js
 |- index.js
 |node_modules
 ||- socket.io
 ||- express

res.sendFile(__dirname + '/client/index.html');

/app
 |- app.js
 |node_modules
 ||- socket.io
 ||- express
 |client
 ||- assets
 ||- img
 ||- js
 |server
 ||- js

感谢所有想要帮助的人。

0 个答案:

没有答案