2

我想使用 Node.js (0.5.11) 和 Socket.IO 进行简单的聊天。我一直在使用纯 HTTP,但我需要启动 SSL。我在 wiki 中生成了密钥和证书:http ://nodejs.org/api/tls.html#tls_tls_ssl

我使用的代码:

应用程序.js:

var tls = require('tls');
var fs = require('fs');

var options = {
  key: fs.readFileSync('key.pem'),
  cert: fs.readFileSync('cert.pem'),
};

var server = tls.createServer(options, function(cleartextStream) {
  console.log('server connected',
              cleartextStream.authorized ? 'authorized' : 'unauthorized');
  cleartextStream.write("welcome!\n");
  cleartextStream.setEncoding('utf8');
  cleartextStream.pipe(cleartextStream);
});
server.listen(8000, function() {
  console.log('server bound');
});

服务器启动良好。当我想在 index.php 上引用 socket.io 时,问题就开始了:

<script src="https://localhost:8000/socket.io/socket.io.js"></script>

Firebug 给了我状态 Aborted 并且我不能使用“io”对象,因为它没有加载。我还在 src 属性中尝试了“http://local...”,但没有任何变化。我究竟做错了什么?有人可以给我一个建议或好的教程如何使用 SSL 运行 Socket.IO 吗?

已经感谢您的回复

4

1 回答 1

0
<script src='/socket.io/socket.io.js'></script>

您只需要它,因为它会自动发现,以防万一您在连接到另一个地址时忘记更新端口和地址。

您的服务器中包含 socketio 的位置?这似乎是问题所在

var sockio = require("socket.io");
var io = sockio.listen(server);
于 2012-09-27T14:55:55.237 回答