Node.jsとsocket.ioを持つWebSocket

私はキャンバスとJavascriptを使ってゲームを作りました.WebSocketsとNode.jsを使ってマルチプレイヤー機能を実装したいと思います

私はNodeにとって全く新しいので、次のコードを使って基本的なWebサーバーを稼働させることができました。

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

2 答え

Two weeks ago, I put on my blog tutorial on Node.js & WebSocket - Simple chat tutorial.
Basically, I took this WebSocket module for Node.js and just extended this server template (no 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
    });
});

マルチプレイヤーゲームを開発している場合、 MozillaのRob HawkesとHTML5ゲームを話すことに興味があるかもしれません(彼はWebSocketに基づいたマルチプレイヤーゲームの開発経験を紹介しています)、また記事マルチプレイヤーHTML5ゲームの開発Node.jsで(Node.jsとフロントエンドの間でJavaScriptを共有することについての段落があります)。

3
追加された

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

socket-ioの設定方法に関する情報があります:

Socket.IOを自分のサーバーにインストール/設定する

2
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript