[英]How to stream MP3 data via WebSockets with node.js and socket.io?
[英]WebSockets with Node.js and socket.io
我已經使用畫布和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”的響應。我的問題是,這就是我需要開始將WebSockets與Node一起使用嗎? 我聽說有人說我仍然需要socket.io以便Node可以使用套接字,但是我不知道這是否只是幫助我使用套接字的庫,或者Node是否實際上不了解套接字。
服務器基本上必須記錄所有連接的玩家,他們的分數,他們在畫布上的位置等記錄。客戶端會偶爾輪詢服務器(使用WebSockets),以獲取所有人的位置,然后使用返回的信息更新畫布。 我需要socket.io嗎? 無論哪種方式,我將如何去做?
謝謝。
兩周前,我在Node.js和WebSocket上發布了博客教程-簡單聊天教程 。
基本上,我將這個WebSocket模塊用於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
});
});
如果您正在開發多人游戲,那么您可能會感興趣與Mozilla的Rob Hawkes交談HTML5游戲 (他描述了他基於WebSocket開發多人游戲的經驗),以及文章使用Node.js開發多人HTML5游戲 (有一段關於共享的段落)。 Node.js和前端之間的JavaScript)。
您需要socket-io,因為這是基於節點js構建的庫。 套接字io create是一個“套接字”,因此可以將數據從Web應用程序傳輸到服務器,反之亦然。 節點js只是服務器的javascript接口。
有關如何設置socket-io的信息:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.