Tag: 延迟

节点中第二次请求延迟15秒

我有一个服务器需要发送多个http请求。 但是除第一个请求之外,每个请求都会触发一个15秒的延迟。 如果我从linux控制台,POSTman或Fiddler发送请求,它的工作很好,没有延迟,但我不能得到它从节点工作。 我已经尝试使用https.get() , request ,套接字,甚至在一个单独的文件分叉请求。 但延误还在。 服务器回复正确的Connection: close标题。 该服务器是一个nginx服务器。 从节点工作的唯一时间是如果我把我的请求在一个单独的脚本,只运行这个脚本。 这可能是有效的,因为节点在请求后退出并释放连接。 我曾尝试与agent: false ,我发送Connection: close服务器,但它为什么需要15秒钟closures,为什么不使用小提琴手或POSTMAN时发生这种情况? 编辑:添加代码。 这个代码在我第一次运行的时候运行的非常完美,但是如果我运行了两次或者更多的话,延迟就会出现。 这是导致延迟的第二个函数,第一个函数工作正常。 async.waterfall([ function(cb) { console.log('making first connection'); var post_data = querystring.stringify({ 'login' : username, 'password' : password }); var options = { hostname: 'hostname', port: 443, path: '/path', method: 'POST', agent: agent, pool: false, keepAlive: false, […]

使用SuperLogin / Couchdb注册新用户的时间很长

用户注册SuperLogin意味着创build一个用户数据库。 经过调查,最终看起来像CouchDB本身和创build一个新的数据库时,30秒延迟。 我现在必须明白为什么CouchDB需要这么长时间才能做到这一点…] 在通过CouchDB数据库中的SuperLogin注册新用户时,我面临着30秒的延迟。 有时甚至更长,导致服务器超时错误。 但是,一切运行在同一台本地计算机上,Fauxton通常非常快,以及我在这个CouchDB数据库和PouchDB应用程序之间进行的数据同步。 你有什么想法如何解决这个问题? 或者至less如何获得有关发生的更多日志? 下边是: 1)Node / SuperLogin服务器的输出显示了OPTIONS和POST之间的30secs +延迟(OPTIONS是由于CORS引起的,但是POST查询来自postman时,我有相同的30secs + delay,所以CORS不应该是原因) 2)Server.js源代码 3)客户端代码。 非常感谢! 1)服务器输出 >node server.js Memory Adapter loaded App listening on 3000 ::1 – – [29/Nov/2016:21:44:42 +0000] "OPTIONS /auth/register HTTP/1.1" 204 – "http://localhost:8100/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36" ::1 – – [29/Nov/2016:21:45:19 +0000] […]

Node.js / q为什么这个函数没有被调用?

我有这个代码: /** * On message received */ socket.on('message', function (message) { global.logger.info('%s : message : %s', address.address, message); execute(message, socket) .then(function (value) { global.logger.debug('%s : success : %s', address.address, value); socket.emit('message', message); }, function (error) { global.logger.debug('%s : fail : %s', address.address, error); socket.emit('error', error); }); }); function execute(message, socket) { global.logger.debug('Got here : %s', […]

在settimeout内承诺

我试图在彼此延迟1秒的时间内执行承诺,因为我正在使用的API服务器每秒有一个请求限制。 这是我的代码目前 var delay = 0; return categories.reduce(function(promise, category) { var id = setTimeout(function() { promise.then(function() { return client.itemSearch({ searchIndex: configuration.SearchIndex, CategoryID: category.id, Keywords: currentKeyword }).then(function(results) { var title = results[0].Title; var cat = category.name; var price = results[0].Price; return db.insertProduct(title, cat, price); }); }).catch(function(err) { console.log("error", err); }); }, delay * 1000); delay += […]

技术可以最大限度地减less实时连接的延迟

我想从汽车传输一些遥测数据到一个networking应用程序。 硬件已经被照顾了。 它会通过Android设备每100ms发送一次数据。 我想知道什么有较低的延迟,websockets(socket.io)或webrtc(Datachannel)? 谢谢

如果延迟超过2147483648毫秒,setTimeout立即触发

问题 如果delay超过2147483648毫秒(24.8551天),该function将立即触发。 例 setTimeout(function(){ console.log('hey') }, 2147483648) // this fires early setTimeout(function(){ console.log('hey') }, 2147483647) // this works properly 我在Chrome v26和Node.js v8.21下试过了

如何在带有套接字(socket.io)的NodeJS中查找客户端的响应时间(延迟)?

我试图用NodeJS创build一个多人游戏,我想同步客户端之间的动作。 在客户端和服务器之间find延迟(请求返回到客户端的时间)的最佳方法是什么? 我的第一个想法是客户端#1可以发送一个时间戳与请求,所以当客户端#2将收到客户端#1的行动,他将调整是行动的速度,以消除请求的延迟。 但是问题是两个客户端的系统date时间可能不相同,所以根据客户端#1的请求不可能知道卷轴延迟。 另一种解决scheme是使用服务器的时间戳,但现在我怎么知道客户端的延迟?