2013-05-04 15 views
0

我花了整整一天的時間訪問教程網站,解釋如何使用nodejs和sockoets.io,但我無法獲得任何工作。設置node.js和sockets.io

我已成功地至少運行一個js文件:

node filename.js 

但它不完全工作。它運行,直到它達到「VAR服務器=淨......」自「的console.log(」你好「)」逐行不執行:

var net = require('net'); 

var server = net.createServer(function (socket) { 
    console.log("hello"); 
    socket.write('Echo server\r\n'); 
    socket.pipe(socket); 
}); 
console.log("hello"); 
server.listen(1337, '127.0.0.1'); 

這是我從官方網站的Node.js了主頁: http://nodejs.org/

所有教程聲稱它非常簡單。

我剛纔試圖遵循本教程的信,雖然他們中的很多掠過我堅持用(實際安裝)的一部分: http://tutorialzine.com/2012/08/nodejs-drawing-game/

所以按照上面的教程中,我運行的應用程序。從控制檯js和我得到一個消息「socket.io開始」,我陷在其中,它要求你去這個網址的一部分:

http://localhost:8080 

的瀏覽器試圖去那裏,但它掛起幾分鐘然後說: 「沒有收到數據 無法加載網頁因爲服務器沒有發送數據。「

我不知道node.js是如何工作的,並且似乎沒有解釋它是如何工作的... node.js在哪裏安裝?如果它的目的是在服務器上,它是如何安裝在服務器上的?我應該在哪裏安裝它以在本地進行測試?什麼是socket.io?應該在哪裏安裝?

所有我似乎得到的node.js信息網站都是代碼塊轉儲,很少有解釋發生了什麼。

我跟着他們使用WAMP服務器的YouTube教程,所以我想也許我需要將文件放在服務器上,所以我安裝了WAMP並禁用了IIS8服務器。另一個說明,當在我的瀏覽器上訪問「localhost」時,它說「它有效!」這似乎是來自本地服務器的自動化消息 - 我認爲它是IIS8,但即使我禁用該服務,該消息也會顯示。即使我安裝WAMP並讓它運行該消息顯示。另外,WAMP也不能工作,因爲PHP文件不運行。 Localhost總是把我帶到顯示該消息的頁面。

這是一個本地服務器的問題?

+0

在閱讀你的問題時,我意識到你對服務器沒什麼想法。 WAMP(Apache)IIS和node.js都是服務器。只需選擇一個並學習。看看他們瞭解更多的常見問題。對於node.js,請參閱http://stackoverflow.com/questions/1884724/what-is-node-js和http://stackoverflow.com/questions/2353818/how-do-i-get-started-with-node -js – user568109 2013-05-04 21:24:50

回答

3

很難對您的問題給出「答案」。我會建議你從繪圖遊戲的一個更基本的介紹開始。另外,我建議你按照原樣使用nodejs,而不要立即使用socket.io。當你瞭解節點的工作方式時,你可以從websocket開始。

下面是一些節點101的東西:

你不應該需要WAMP的。nodjs 服務器!

看來你不知道什麼端口。您的節點腳本啓動一個監聽端口1337的Web服務器。如果您想查看服務器提供的服務,則需要將您的瀏覽器指向localhost:1337(不是端口8080,因爲您嘗試過)

+1

感謝那些鏈接luksch,我正在閱讀第一篇文章,並且有一些工作(Hello world)。確實,我不知道端口是什麼,但端口8080的一段代碼是用於聽取端口8080的另一個教程。我很抱歉,我只是不明白node.js是如何作爲服務器的。我知道你是對的,但在我看來沒有任何意義。我只需要除魔術並繼續前進。 – user1809104 2013-05-04 18:00:28

+0

我覺得你只是從不同的教程中獲得了幾行。 nodejs實際上不是很神奇。它只是把JavaScript語言帶到服務器。一旦你瞭解事件循環,一切都會落實到位。服務器只是一個在計算機上運行的程序。沒有更多,沒有更多。 – luksch 2013-05-04 19:03:58

0

您需要('socket .io'),然後創建一個連接io.sockets.on('連接',功能(套接字),以使其工作

3

我創建了一個基本的gist在github上使用socket.io + node + express

製作socket.io應用程序的最小工作環境是這樣的:

var express = require('express'), 
    app = express(), 
    http = require('http'), 
    server = http.createServer(app), 
    io = require('socket.io').listen(server); 

app.get('/', function(req, res) { 
    res.send('<!doctype html> \ 
      <html> \ 
      <head><meta charset="utf-8"></head> \ 
      <body> \ 
       <center>Welcome to <strong>socket.io</strong></center> \ 
       <script src="/socket.io/socket.io.js"></script> \ 
       <script> \ 
        var socket = io.connect(); \ 
        socket.emit("message", "Howdy"); \ 
        setInterval(function() { \ 
         socket.emit("message", "Ping"); \ 
        }, 1000); \ 
       </script> \ 
      </body> \ 
      </html>'); 
    }); 

    io.sockets.on('connection', function (socket) { 
    socket.on('message', function(msg) { 
     console.log(msg); 
    }); 
    }); 

    server.listen(8000); 
相關問題