我通过ssh连接到我的远程服务器.然后我用Forever启动我的node.js应用程序.一切正常,直到我关闭我的控制台窗口.即使我通过ssh关闭连接,如何在我的远程服务器上运行node.js app FOREVER?我只是想启动一个应用程序并关闭我的copmputer.我的应用程序应该在远程服务器的后台运行.
这是事情 - 我想在redis下的某个键下存储本机JS(node.js)对象(flash套接字引用).当我这么做时,client.set()
它被存储为一个字符串.当我试图获得价值时,我得到[object Object]
- 只是一个字符串.
有机会让这个工作吗?这是我的代码:
addSocket : function(sid, socket) {
client.set(sid, socket);
},
getSocket : function(sid) {
client.get(sid, function(err, reply) {
// cant't get an object here. All I get is useless string
});
},
Run Code Online (Sandbox Code Playgroud) 我想知道你是否有关于websockets的并发连接的任何数据?我在Node.js服务器上使用Socket.io.有多少客户端可以连接到套接字并接收数据而无需关闭服务器?1000?1000.0000?
谢谢!
有没有机会以某种方式将www重定向到node.js中的非www URL?由于节点Web服务器中没有htaccess,我很好奇如何做到这一点.
我的Express应用程序中有一个禁区"/仪表板".我使用一个非常小的函数来限制访问:
app.get('/dashboard', loadUser, function(req, res){
res.render('dashboard', {
username: req.session.username
});
});
function loadUser(req, res, next){
if (req.session.auth) {
next();
} else {
res.redirect('/login');
}
};
Run Code Online (Sandbox Code Playgroud)
问题是当我通过调用注销用户时...
app.get('/logout', function(req, res){
if (req.session) {
req.session.auth = null;
res.clearCookie('auth');
req.session.destroy(function() {});
}
res.redirect('/login');
});
Run Code Online (Sandbox Code Playgroud)
...会话被杀死但是当我在浏览器中点击Back Button时,我从浏览器的缓存中获得了受限制的页面.这意味着'/ dashboard'上没有GET,也没有用户登录验证.
我尝试在元(Jade模板)中使用no-cache,但它仍然不起作用.
meta(http-equiv='Cache-Control', content='no-store, no-cache, must-revalidate')
meta(http-equiv='Pragma', content='no-cache')
meta(http-equiv='Expires', content='-1')
Run Code Online (Sandbox Code Playgroud)
任何人?
我想用Request库下载一个文件.这非常简单:
request({
url: url-to-file
}).pipe(fs.createWriteStream(file));
Run Code Online (Sandbox Code Playgroud)
由于URL是由用户提供的(在我的例子中),我想限制我的应用程序将下载的最大文件大小 - 比方说10MB.我可以依赖这样的content-length
标题:
request({
url: url-to-file
}, function (err, res, body) {
var size = parseInt(res.headers['content-length'], 10);
if (size > 10485760) {
// ooops - file size too large
}
}).pipe(fs.createWriteStream(file));
Run Code Online (Sandbox Code Playgroud)
问题是 - 这有多可靠?我想这个回调将在文件下载后调用,对吧?但是,如果有人提供1 GB的文件URL,那就太晚了.我的应用程序将首先下载这个1 GB的文件,只是为了检查(在回调中)这个太大了.
我也在考虑好的旧Node http.get()
方法.在这种情况下,我会这样做:
var opts = {
host: host,
port: port,
path: path
};
var file = fs.createWriteStream(fileName),
fileLength = 0;
http.get(opts, function (res) {
res.on('data', function (chunk) {
fileLength += chunk.length;
if (fileLength > …
Run Code Online (Sandbox Code Playgroud) 是否有一个简单的解决方案将动态聚合数据POST到新选项卡中?
chrome.tabs.create
没有'POST'选项.通常我会用
chrome.browserAction.onClicked.addListener(function (t) {
chrome.tabs.create(
{
"url" : "http://super.url",
"method" : "POST" // oops.. no option.
});
});
Run Code Online (Sandbox Code Playgroud) 我正在开发一个node.js应用程序,我需要使用大量的Redis.该应用程序将cluster
在8个CPU核心上运行.
现在我有100个并发连接到Redis,因为每个CPU的每个工作程序都有几个模块在运行require('redis').createClient()
.
情景A:
file1.js:
var redis = require('redis').createClient();
Run Code Online (Sandbox Code Playgroud)
file2.js
var redis = require('redis').createClient();
Run Code Online (Sandbox Code Playgroud)
情景B:
redis.js
var redis = require('redis').createClient();
module.exports = redis;
Run Code Online (Sandbox Code Playgroud)
file1.js
var redis = require('./redis');
Run Code Online (Sandbox Code Playgroud)
file2.js
var redis = require('./redis');
Run Code Online (Sandbox Code Playgroud)
哪种方法更好:在我介绍的每个新文件中创建新的Redis实例(方案A)或全局创建一个Redis连接(方案B)并在我拥有的所有模块之间共享此连接.每种解决方案的缺点/好处是什么?
提前致谢!
我正在使用Swift中的一个简单的MacOS 命令行应用程序.我创建了一个自定义CoreImage过滤器,并且使用它有麻烦.代码编译得很好但是当它运行时退出时出现以下错误:
***由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不是键输入映像的键值编码兼容.
任何有关此问题的帮助将不胜感激.尝试在SO上搜索答案,但由于我的应用程序不使用Storyboard或Outlets(它是纯粹的命令行),遗憾的是我无法自拔.
我的程序在这一行上打破了:
filter.setValue(inputImage, forKey: kCIInputImageKey)
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码:
class CustomFilter:CIFilter {
var inputImage:CIImage?
let kernelString = CIKernel(string:
"kernel vec4 chromaKey( __sample s) { \n" +
" vec4 newPixel = s.rgba;" +
" newPixel[0] = 0.0;" +
" newPixel[2] = newPixel[2] / 2.0;" +
" return newPixel;\n" +
"}"
)
override var outputImage:CIImage! {
guard
let inputImage = inputImage
else {
return nil
}
let extent = inputImage.extent
let blur = kernelString?.apply(
withExtent: extent,
roiCallback: {
(index, rect) in …
Run Code Online (Sandbox Code Playgroud) 我尝试实现一个简单的XHR上传到Node.js(通过Formidable).问题是,如果我设置
xhr.setRequestHeader("Content-Type", "multipart/form-data");
Run Code Online (Sandbox Code Playgroud)
节点给我错误:
Error: bad content-type header, no multipart boundary
Run Code Online (Sandbox Code Playgroud)
如果我将边界设置为随机字符串没有任何反应.浏览器只挂起POST并等待服务器响应.
关键是如果我使用带有常规同步POST的强大功能,一切正常.
有人试图在XHR上传时使用Formidable吗?
node.js ×8
express ×2
javascript ×2
redis ×2
core-image ×1
macos ×1
object ×1
session ×1
socket.io ×1
swift ×1