簡體   English   中英

Socket.IO + Node.js + SSL

[英]Socket.IO + Node.js + SSL

我想使用Node.js(0.5.11)和Socket.IO運行簡單的聊天。 我正在使用純HTTP進行操作,但是我需要啟動SSL。 我已經在Wiki中生成了密鑰和證書: http : //nodejs.org/api/tls.html#tls_tls_ssl

我使用的代碼:

app.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使我的狀態已中止,並且由於未加載“ io”對象而無法使用。 我也嘗試了src屬性中的“ http:// local ...”,但沒有任何變化。 我究竟做錯了什么? 有人可以給我一個建議還是一個很好的教程,介紹如何通過SSL運行Socket.IO?

已經感謝您的回復

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

您只需要它,因為它將自動發現,以防萬一您在連接到另一個地址時忘記更新端口和地址。

服務器中的哪里包含socketio? 這似乎是問題

var sockio = require("socket.io");
var io = sockio.listen(server);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM