我正在使用node.js构建一个实时多人浏览器游戏。目前,我让客户端通过socket.io将用户输入发送到游戏逻辑服务器,并将游戏世界的快照发送回客户端进行渲染。
以下是代码的简化版本。是否可能使用UDP从基于浏览器的客户端发送数据到服务器,反之亦然?我知道Node.js有一个UDP模块,但我不确定如何以这种方式实现。
任何帮助都将不胜感激。谢谢。
服务器:
以下是代码的简化版本。是否可能使用UDP从基于浏览器的客户端发送数据到服务器,反之亦然?我知道Node.js有一个UDP模块,但我不确定如何以这种方式实现。
任何帮助都将不胜感激。谢谢。
服务器:
var server = http.createServer(handler).listen(8888);
var iosocket = io.listen(server);
// request/response handler
function handler(req, res){
...
}
iosocket.sockets.on('connection', function(socket){
console.log("[x] Socket listener started");
socket.on('msg', function(data){
console.log( " [-] incoming message);
});
});
...
iosocket.sockets.emit("message", msg);
客户端:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
socket.on('connect', function(){
console.log("connected to server");
});
socket.on('message', function(message){
console.log('received message');
});
</script>
</head>
<body>
<canvas id='canvas' width="400" height="400">Canvas</canvas>
</body>
</html>