2011-11-12 4 views
2

をsocket.io次のコードで基本的なWebサーバーの起動および実行を取得するために管理している:のNode.jsとWebSocketを、私はキャンバスとJavascriptを使用してゲームを構築しており、私はWebSocketをを使用してマルチプレイヤー機能を実装したいとNode.jsの</p> <p>私はノードに完全に新たなんだ、と私なり

var http = require("http"); 

console.log("Server started at port 8888"); 

http.createServer(function(request, response) { 
     response.writeHead(200, {"Content-Type": "text/plain"}); 
     response.write("Hello World"); 
     response.end(); 
}).listen(8888); 

それはすべての作品を、私はポート8888私の質問に私のサーバーのIPへに移動したときに「Hello World」のの応答を取得しますこれは、NodeでWebSocketsを使用し始める必要がありますか? Nodeがソケットを使うことができるようにsocket.ioが必要だと言う人がいると聞いたことがありますが、ソケットを使用するのに役立つライブラリか、Nodeが実際にソケットを理解できないかどうかはわかりません。

サーバーは基本的に、接続されているすべてのプレーヤー、そのスコア、キャンバス上での位置などをメモしておく必要があります。クライアントは、時々everyonesの位置を取得してキャンバスを更新するために(WebSocketsを使用して)返された情報と一緒に。私はsocket.ioが必要でしょうか?どちらにしても、これをどうやってやるの?

ありがとうございました。

答えて

2

これはノードjの上にビルドされたライブラリなので、socket-ioが必要です。 ソケットio createは「ソケット」なので、データをWebアプリケーションからサーバーに、またはその逆に転送することができます。ノードjsはあなたのサーバーへのjavascriptインターフェイスです。

はどのようにセットアップソケット-IOへの情報があります上:

Installing/setting up Socket.IO on my server

3

2週間前、私はNode.js & WebSocket - Simple chat tutorialに私のブログのチュートリアルに置きます。
は基本的に、私はこのWebSocket module for Node.jsを取り、ちょうどこのサーバーテンプレート(なしsocket.io)を拡張:

var WebSocketServer = require('websocket').server; 
var http = require('http'); 

var server = http.createServer(function(request, response) { 
    // process HTTP request. Since we're writing just WebSockets server 
    // we don't have to implement anything. 
}); 
server.listen(1337, function() { }); 

// create the server 
wsServer = new WebSocketServer({ 
    httpServer: server 
}); 

// WebSocket server 
wsServer.on('request', function(request) { 
    var connection = request.accept(null, request.origin); 

    // This is the most important callback for us, we'll handle 
    // all messages from users here. 
    connection.on('message', function(message) { 
     if (message.type === 'utf8') { 
      // process WebSocket message 
     } 
    }); 

    connection.on('close', function(connection) { 
     // close user connection 
    }); 
}); 

あなたがマルチプレイヤーゲームを開発している場合は、話HTML5 Games with Rob Hawkes of Mozillaに興味があるかもしれない(彼が開発多人数での彼の経験を説明しまた、記事Developing Multiplayer HTML5 Games with Node.js(Node.jsとフロントエンドの間でJavaScriptを共有することについての段落があります)。

関連する問題

 関連する問題