所以,我一直在想如何使用socket.io。 Socket.io官方向我介紹了這個教程頁面:https://github.com/LearnBoost/socket.io,並且我經歷了幾次。不過,每次我都會提出相同的問題列表。它們是:關於socket.io教程(第1部分)的許多問題?
問題1)在整個官方socket.io教程的整個過程中,「如何安裝」出現在多行上。在README.md文件的第一步,在其官方混帳(這是我對問題的教程)是:
How to Install
npm install socket.io
我的問題:何時,何地,何種系統,等等? 我在運行XAMPP服務器的Windows XP計算機上安裝了節點。我跟着教程信的步驟,這裏的結果的截圖:
正如你所看到/聽到,結果是橢圓點。擊鍵後,更多的橢圓點。我離開這個窗口約45分鐘。吃了早餐並和我的妻子交談過。顯然沒有什麼是下載,它不會做任何事情比閒坐。那麼,什麼時候該工作?爲什麼它不工作?我可能在錯誤的位置輸入了命令嗎?這個命令是否與Windows兼容?它與XAMPP兼容嗎?如果是這樣,怎麼樣?
第2期)從README.md
How to use
First, require socket.io:
自然的問題是, 「哪裏下面的代碼屬於?」我做了一些研究,發現在http://socket.io/#how-to-use,有一個教程,影響README.md。不過,還有一個額外的教程。所以,我們回到第一個問題:代碼屬於哪裏?我嘗試過不同的地點。有時我會收到系統消息。我想知道是服務器還是客戶端生成這些消息。我無法在控制檯中看到任何日誌。
這裏是服務器的源代碼:
var app = require('http').createServer(handler) //No handler is required in the express version. Why have a handler here and not there?
, io = require('socket.io').listen(app)
, fs = require('fs')
app.listen(80); //Why 80? The documentation says that the listen port should be either 8000 or 9100. Is 80 the listen port?
function handler (req, res) { //What is req? It doesn't appear anywhere else in the server or client code.
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.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
現在,我不想純粹是至關重要的。最後6行代碼非常清晰易懂。我只是無法達到我可以測試的地步,看它是否有效。
在開始討論其他問題之前,我想先討論第一個教程。待成功後,我可以向他們提交變更請求或提出請求 - 這樣可以讓其他人在將來不會有同樣的挫敗感。
這裏的下一個問題先睹爲快:
我需要讓我自己的服務器端?
謝謝閱讀。
我在答案的正文中加了「(不是節點)」。好答案。謝謝。如果我有其他專門針對官方教程的問題,我會在測試應用程序後重新發布,也可能鏈接到第2部分。 –
好吧,肯定會有第2部分。不過,我會看到自己能夠走多遠。第一個主要問題是它連接到谷歌,在某處(可能爲jQuery)。你認爲這是安全的嗎? –
是的,大多數主要網站都使用Google CDN(內容分發網絡)中的JQuery。由於大多數網站都是這樣做的,大多數用戶已經在緩存中存儲了這些內容,不需要再次下載。 – Bill