2011-12-22 3 views
3

Я запускаю сервер LAMP на VPS, и я только что установил на него 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 express или npm -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> 

Вам просто нужно повернуть, что в ваши шаблоны, и вам должно быть хорошо идти.

Смежные вопросы