2012-06-27 11 views
0

我被困在使用nodejs與套接字IO中。使用節點與socketio相關的問題

我正在使用Windows機器,下載的節點可執行文件,正確設置環境變量。

這樣我就可以運行一個簡單的節點服務器上的命令。

然後我用NPM安裝socketio 甚至我得到安裝了socketio(路徑爲c:\ Aakash \用戶\ nodemodules ....)

現在,當我使用的樣本代碼用於運行節點服務器裝備與套接字,它會引發錯誤在socketio js說「indexOf在1324行未定義」。

這errow來在server.js線在那裏我已經寫

require("socket.io");

可它是不是能夠執行socket.io。

Confusions: 1)socketio文件在Users \ nodemodules中的某處... 它如何在require語句中獲取socketio?

2)同樣在客戶端我需要socket.io.js,這也在Users ..目錄內,但是在這裏我複製了socket.io.js並將其放在clientfile.html附近。

我在做錯了socketio的目錄結構嗎? 客戶端文件附近應包含哪些文件和哪些文件?

我搜索了上述問題,但沒有成功。

謝謝。

回答

1

首先

的answere 1:

1.創建項目文件夾(任何地方)

在cmd中2.Navigate項目總監

3.安裝socket.io (npm install socket.io)

安裝完socket.io之後您會在項目文件夾中找到node_module目錄。

的answere 2:

現在,您的客戶端將獲取socket.io文件(只包含SRC =「/ socket.io/socket.io。JS')

你使用一些事情是這樣的:如果你使用http模塊

然後

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

app.listen(1324); 

function handler (req, res) { 
    // your handler 
} 

我認爲你應該使用express模塊,進一步詳細爲socket.io

+0

我想你說的到底是什麼,但socketio不是我當前節點目錄中,它是介於用戶\ node_modules ... 仍在尋找因爲它, 順便說一句,我在運行server.js sucesful我簡單地複製node_modules從用戶\ ...到nodejs安裝路徑。 但現在問題正在運行客戶端html 可能是我仍然沒有明確與此。 –

+0

我從來沒有能夠連接到服務器,它顯示,連接關閉在客戶端的套接字。 還有任何使用express的好處(因爲我會在別人上增加一層框架)? –

0

如果您安裝一個全局模塊(npm install module -g),然後嘗試將它安裝到項目的文件夾(不帶-g)上,它將不會再次安裝,因爲它已經安裝。但是,如果沒有全局安裝它,則可以在多個文件夾中多次安裝它。 有關節點的負載如何模塊的更多信息,你可以閱讀thisthis