2011-12-22 48 views
3

我在VPS上運行一個LAMP服務器,並且我剛剛安裝了socket.IO(節點0.6.6,因爲npm拒絕安裝在0.7.0-pre上)。 現在,我想用一個簡單的例子來測試我的安裝,例如一個簡單的聊天應用程序,並且從中學習如何在我自己的應用程序中使用它。簡單的例子需要測試安裝

然而有一些奇怪的東西。似乎有一個衆所周知的10行聊天示例,但它已從開發人員的網站中消失了,儘管數百次引用它,數小時或搜索,但我無法找到實際示例。

隱藏在頁面源代碼http://socket.io我找到了暱稱改進版的截圖,仍然有10行,但唉仍然沒有代碼示例,它也不公開。 http://howtonode.org/websockets-socketio上的最後一個例子看起來像它已經,但沒有一個匹配的服務器端腳本或HTML頁面嵌入英寸

有沒有人知道這是怎麼回事?任何人都可以提供一個可用的小例子(聊天或多人遊戲)來演示socket.IO的基礎知識,它適用於當前版本嗎?

編輯:從socket.io網站上的示例中,我假設我需要「廣播」,但我不清楚如何從此構建一個工作的聊天應用程序(儘管他們聲稱它只是10行)。 :/

+0

什麼http://socket.io/#how-to-use? –

+0

也許是因爲我沒有足夠的瞭解它是如何工作的,或者甚至有瀏覽器問題,但是我在該頁面上看不到聊天示例......我看到很多示例,但我甚至無法確定這個例子最接近我提到的聊天應用程序... – user1111929

+0

我假設我需要的技術是「廣播」,但是我沒有看到足夠的語法(並且我不知道是否存在語法)一個正在工作的聊天客戶端。 – user1111929

回答

1

首先你會沿側安裝明示這一點,使生活更輕鬆:)

npm install expressnpm -g install express如果您安裝全球範圍內,一旦安裝轉到您的工作目錄,鍵入創建一個應用程序express sample創建一個名爲sample的項目。進入示例目錄並用您最喜歡的編輯器打開app.js

替換爲以下內容:

/** 
* Module dependencies. 
*/  
var express = require('express') 
    , io = require('socket.io') 
    , routes = require('./routes') 

var app = module.exports = express.createServer(); 

// Configuration 
app.configure(function(){ 
    app.set('views', __dirname + '/views'); 
    app.set('view engine', 'jade'); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    app.use(express.static(__dirname + '/public')); 
}); 

app.configure('development', function(){ 
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
}); 

app.configure('production', function(){ 
    app.use(express.errorHandler()); 
}); 

// Routes 
app.get('/', routes.index); 

//IO Bindings 
io.sockets.on('connection',function (client){ 

    client.on('hello', function(data){ 
     //Client sent hello 
    }); 

    //Add the rest of your event bindings here for client scopes 
}); 

app.listen(8080); 
io.listen(app); 

console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env); 

然後你就可以修改你的玉石至T吐出下面的HTML頭版:

<!DOCTYPE html> 
<html> 
    <head> 
     <script src="/socket.io/socket.io.js"></script> 
     <script> 
      var socket = io.connect(/*defaults to so ip:port*/); 
      socket.on('connect', function(){ 
       console.log("Connected"); 
       socket.emit('hello', { my: 'world' }); 
      }); 
     </script> 
    </head> 
    <body> 
     Body Here 
    </body> 
</html> 

你只需要打開該進入你的模板,你應該很好去。

相關問題