Tag: html5

p5.j​​s用椭圆canvas绘制path

我正在使用socket.io,node.js和p5.js实时绘制Web应用程序。 拖动鼠标时,我无法创build平滑的线条。 如果鼠标拖得太快,则每个椭圆之间都有一段空的空间。 这里的最终目标是创造一条平坦的道路。 以下是我迄今为止所尝试的内容: 尝试1: noStroke(); fill(lineColor[0],lineColor[1],lineColor[2]); ellipse(mouseX, mouseY, lineThickness, lineThickness); 尝试2: strokeWeight(lineThickness); line(mouseX,mouseY); stroke(lineColor[0],lineColor[1],lineColor[2]); 下面是一个问题的画面: canvas绘制不完整的path图像 欢迎任何反馈意见; 谢谢!

在没有Content-Length的情况下进行stream式传输

我正在使用Node.js,Express(和连接)和fluent-ffmpeg。 我们希望通过http传输存储在Amazon S3上的audio文件。 除了我们希望添加一个特性,即通过ffmpeg实时转换stream之外,我们所有的工作都正在进行。 这是行之有效的,问题是有些浏览器在实际获取文件之前提前检查。 包含Range头部的传入请求,我们用S3的所有信息回复206,有一个基本问题:我们需要事先知道文件的内容长度。 我们不知道,因为它正在经历ffmpeg。 一种解决scheme可能是在存储文件(在一个特殊的头文件中)时直接在S3上写出结果的内容长度,但这意味着我们必须经历上传之后让队列进行编码的痛苦,以便知道将来的大小要求。 这也意味着,如果我们改变压缩机或预设,我们必须经历这一切,所以这不是一个可行的解决scheme。 我们也注意到Chrome和Safari请求audio标签src的方式存在很大差异,但这可能是另一个话题的讨论。 事实是,如果没有一个合适的内容长度标题,响应一切似乎中断或浏览器进入一个无限循环或愉快地重新启动stream。 想法?

Javascript多人游戏 – 服务器端validation。

我开始使用HTML 5 / Javascript创build一个多人游戏。 我目前正在做一些关于如何阻止人们作弊的不同想法的原型。 现在我知道我需要做一切服务器端,只是让客户端发送“行动”。 我的问题是我不能锻炼最好的方式来存储每个玩家的游戏状态。 所以只要看一些基本的东西 两名玩家绕着一张空地图跑。 目前我的想法是 两个客户端(sockets.io)都将他们的动作发送到一个Node.JS服务器,然后用X / Y坐标来响应。 这可以。 但显然,两个客户都需要知道其他玩家在哪里。 我想通过为每个游戏创build一个新的数据库表,并将游戏状态存储在那里,这样两个node.js连接可以相互交stream。 我的问题是,这是两个node.js连接之间进行交互的最佳方式,是否足够快? 还是有一个这个特定的任务,我错过了devise模式? 谢谢

NodeJS – 如何pipe相同的videostream到多个客户端?

我们有一种情况试图为videostream服务。 由于HTML5video标签不支持udp组播,因此我们试图重新使用已经转换的ffmpegstream并将其发送给多个响应。 但是这不起作用。 第一个响应得到了正确的stream,但第二个响应没有。 似乎这个stream不能通过另一个响应pipe道,也不能被克隆。 有没有人做过? 有任何想法吗? 提前致谢! 代码如下: var request = require('request'); var http = require('http'); var child_process = require("child_process"); var n = 1; var stdouts = {}; http.createServer(function (req, resp) { console.log("***** url ["+req.url+"], call "+n); if (req.url != "/favicon.ico" && req.url != "/") { var params = req.url.substring(1).split("/"); switch (params[0]) { case […]

保护用户注册API

我目前正在编写一个带有Sails.js(节点框架)后端的HTML5 Web应用程序。 目前,我的大部分API都是通过PassportJS使用的用户身份validation系统进行保护的。 未经授权的用户试图使用我的API将得到一个401错误。 但是,系统中有一个洞,就是注册API本身。 我显然无法通过用户身份validation来保护我的注册API(因为用户还没有帐户可以login),因此任何人都可以使用许多伪造的帐户轻松地发送垃圾邮件。 在我的注册页面上,我有一个“2 + 2是什么”的小validation问题。 (它是随机生成的),并在客户端进行检查,如果答案正确,则客户端向我的注册API路由发送一个请求,其中包含名称,生日和用户名等所有必要参数。 我怎样才能保证这个API,以确保人们必须通过我的注册页面,不能简单地绕过这个安全措施,直接调用API? 就像注意,我的API不是RESTFul。

Node.js,express,html表单req.body是未定义的

我不明白为什么req.body是未定义的。 它总是访问node.js server'/ formstuff'中的函数,但是req.body是未定义的。 当我看看它发布到cmd的结果,我没有看到我的查询任何地方。 其实res.query和res.params是空的。 任何帮助将不胜感激,谢谢。 performance: var express = require('express'), app = express(); var fs = require('fs'); var Promise = require('promise'); // Handle Get Request app.get('/', function(req, res){ // get stuff from request var index; fs.readFile('./form.html', function (err, data) { if (err) { throw err; } index = data; res.setHeader("Content-Type", "text/html"); res.send(index); }); […]

我可以为HTML5file upload设置video长度限制吗?

当通过HTML5input上传video时,例如: <input type="file" id="input"> 我知道可以使用PHP / Node.Js设置文件大小的限制。 有没有办法设置video长度的限制,而不是文件大小? IE:只允许用户上传15秒或更短的video。

websockets,从服务器的消息更新div

websocket.onmessage = function (evt) { console.log('Retrieved data from server: ' + evt.data); $('#someDiv').append(evt.data); }; 如果我在浏览器中打开2个选项卡,为什么这个事件仅在我发送消息的活动选项卡中触发? 由于数据是从服务器收到,不应该在两个标签同时触发? var WebSocketServer = require('websocket').server; var http = require('http'); var server = http.createServer(function(request, response) { console.log((new Date()) + ' Received request for ' + request.url); response.writeHead(404); response.end(); }); server.listen(8080, function() { console.log((new Date()) + ' Server is listening on port […]

通过java脚本传递参数来expressionnode.js

我正在使用javascript,html,nodejs,express和mysql从数据库检索值并将其传回给html。 在这里,用户在'btnSearch'文本框中input一个域,并按下Loadbutton。 javascriot在app.js中调用/ getallusers代码。 这个函数应该访问数据库并返回结果。 我面临的问题是:我不能将'btnSearch'中的值传递给app.js。 如果我在html中包含标签,那么请求不会进入/ getallusers,而是进入/hi.html?input=Music。 所以我没有使用标签。 html页面如下: var xmlDoc = null; function load() { var str = document.getElementById('btnSearch'); alert(str); if (typeof window.ActiveXObject != 'undefined' ) { xmlDoc = new ActiveXObject("Microsoft.XMLHTTP"); xmlDoc.onreadystatechange = process ; } else { xmlDoc = new XMLHttpRequest(); xmlDoc.onload = process ; } xmlDoc.open( "GET", "/getallusers?input="+str, true ); xmlDoc.send( […]

如何“添加”现有的JavaScript编程游戏的并发性

在jsrobots.com上为JavaScript编程游戏增加并发性的方法/方法是什么? 它本质上是一个古老的DOS游戏的JavaScript重写,它被称为CROBOTS,但有一个非常重要的省略 – 没有适当的并发性或机器人脚本的虚拟加工。 每个机器人用户脚本完全轮stream执行。 我在“怎么玩”页面的“机器人脚本注释”部分解释了这个限制的更多内容,但基本上它吸引并使得游戏对于原始的CROBOTS来说是不可玩的和不真实的。 我的问题是如何将机器人脚本的并发性引入游戏? 它看起来像一个NodeJS的更多的服务器端解决scheme或浏览器Web工作人员保持在浏览器中。 最初我主要是和networking工作者一起玩。 我应该让整个机器人对象成为networking工作者吗? 或者只是用户脚本? 当前的机器人对象负责绘制自己,但networking工作者不能做到这一点,因为没有访问canvas对象或DOM等。 你会怎么做? 基本的游戏devise就像http://tinypic.com/view.php?pic=1zoxnbq&s=5,但这基本上是一个自由/开源软件项目,所以可以随意使用View Source疯狂;-) [实际上有一个稍微老一点的版本GitHub https://github.com/danielrhodeswarp/JS-Robots ] 谢谢