Tag: 表示

Node.js:一次接收太多的UDP消息,丢失它们

我的节点服务器在一秒钟内收到大约400个UDP消息 ,这一切都能正常工作 ,而且我能够处理所有400个消息。 但是,当我开始在一秒钟内收到大约700个UDP消息时, 我失去了2-20个消息,并且它们永远不会被parsing:( 我在这里想过一些select : 创build一个所有套接字消息的队列 ,然后逐个消费,尽pipe我不知道如何实现这个 无法弄清楚如何实施 在Node / Express / dgram套接字find一个设置 ,我可以增加内存大小/缓冲区大小,类似的东西 我找不到像这样的设置,虽然:( 使用不同的UDP接收器 ,停止使用节点的套接字UDP接收器 没有find其他接收器 这是我的UDP发件人的样子: var dgram = require("dgram"); var udpserver = dgram.createSocket("udp4"); var seatStateStore = require("./SeatStateStore"); udpserver.on("message", function (msg, rinfo) { seatStateStore.parseMessage(msg.toString()); }); 有人有主意吗? 我找不出3个选项中的任何一个:/有人可以帮我吗? 节点v0.10.29 Express v3.14.0 =============================== 更新/解决scheme 这里是我最终使用的代码(略微修改@RoyHB的解决scheme): var dgram = require("dgram"); var udpserver = […]

ExpressJS POST不能logging正文

经过大量的升级版本和不同的中间件/使用身体parsing器的方式摆弄,我仍然坚持。 我有一个iPhone应用程序,POST 2件事(2件独立的事情)。 首先是一个图像,它的作品。 其次是一个json对象,我试图把它放进mongodb。 无论我做什么,我似乎都无法logging请求的内容。 var express = require('express'); var logger = require('morgan'); var fs = require('fs'); var json = require('express-json'); var path = require('path'); var errorHandler = require('errorhandler'); MongoClient = require('mongodb').MongoClient, Server = require('mongodb').Server, CollectionDriver = require('./collectionDriver').CollectionDriver; FileDriver = require('./fileDriver').FileDriver; … app.use(json()); //app.use(bodyParser.urlencoded({ extended: true })); app.use(logger('dev')); app.use(express.static(path.join(__dirname, 'public'))); … app.post('/:collection', function(req, res) […]

nodejs npm软件包安装失败

我是nodejs的新手,我刚刚安装在我的Windows 7电脑上。 接下来我要做的就是通过npm安装express.js包npm install express –save ,我得到了以下的错误信息 npm ERR! fetch failed http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.6.tgz npm ERR! Error: 403 Forbidden npm ERR! at WriteStream.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\fetch.js:58:12) npm ERR! at WriteStream.emit (events.js:117:20) npm ERR! at evalmachine.<anonymous>:1610:14 npm ERR! at C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\graceful-fs.js:102:5 npm ERR! at Object.oncomplete (evalmachine.<anonymous>:108:15) npm ERR! If you need help, you may report this *entire* log, npm […]

node.js多file upload不起作用

<form action="http://localhost:3000/examples" method="post" enctype="multipart/form-data" accept="application/json"> <input type="text" name ="name"> <input type="text" name ="codedescription"> <input type="file" name ="file"> <input type="submit" value="Upload selected file to server"> </form> var multer = require('multer'); app.use(multer({ dest: './uploads/', onFileUploadStart : function(file){ console.log('File recieved:'); console.log(file); }, onFileUploadData:function (file,data){ console.log('Data recieved'); }, onParseEnd: function(req,next){ next(); } })); app.route('/examples').post(users.requiresLogin, examples.create); exports.create = function(req, res) […]

使用带有环回的非rest呼叫(强循环)

我们为我们的REST API使用了Loopback,并希望通过相同的实例来实现一些标准的Node Express类似的调用,这些调用不会通过Loopback框架自动路由。 我们如何添加一个新的单独的路线而不会干扰环回路由? 以下是标准的Loopback启动代码: var loopback = require('loopback'); var boot = require('loopback-boot'); var app = module.exports = loopback(); // Bootstrap the application, configure models, datasources and middleware. // Sub-apps like REST API are mounted via boot scripts. boot(app, __dirname); app.start = function() { // start the web server return app.listen(function() { app.emit('started'); console.log('Web server […]

Jade不能使用express.js

我不知道我在做什么错,但延伸不起作用在我的情况。 server.js var express = require('express'); var mongodb = require('mongodb'); var bodyParser = require('body-parser'); var cookieParser = require('cookie-parser'); var expressSession = require('express-session'); var app = require('express')(); app.use(bodyParser()); app.use(cookieParser()); app.use(expressSession({ secret: 'moj-sekret' })); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.set('view options', {layout:false}); app.get('/', function(req, res){ res.render('index', { authenticated: false}); console.log('index'); }); app.get('/login', function (req, res){ […]

Socket.IO接受不存在的src标签?

我在Socket.IO上做了一些“入门的事情”,我注意到有一个步骤,我不得不将这个socket.io.js脚本添加到HTML页面。 它说了以下几点: /socket.io/socket.io.js 然而在我的文件夹中,socket.io.js位于以下path: /node_modules/socket.io/node_modules/socket.io-client/socket.io.js 有位置socket.io不存在于目录的根目录。 那么为什么第一条路可以工作,而第二条路却不行呢?

即使在node.js应用程序中使用body-parser,req.body仍然在POST中为空(使用CORS和HTTPS)

我正在尝试使用express来创build一个非常基本的node.js应用程序,它将来自log4javascript的浏览器事件日志通过CORS和HTTPS,并将它们写入到mongoDB中。 我坚持试图让bodyParser显示数据。 我尝试了各种各样的bodyParserconfiguration,但req.body,req.params和req.query总是空的。 这是我的代码。 var fs = require('fs'), bodyParser = require('body-parser'), express = require('express'), cors = require('cors'), app = express(), https = require('https'), key = fs.readFileSync('*****/key.pem'), cert = fs.readFileSync('*****/cert.pem'), https_options = { key: key, cert: cert }; app.use(bodyParser.json()); app.use(cors()); app.post('/', function (req, res) { console.log(req); res.send('Hello World!') }); https.createServer(https_options, app).listen(3443); 我在log4javascript中使用JSON布局。 这是我的前端代码: var logger = […]

如何在ejs中包含promise值?

我在express和ejs帮助下制作一个小型的节点应用程序。 在我的一个控制器中,我返回一个对象,该对象具有我希望在我看来包含的承诺属性。 我试图找出什么是最好的办法做到这一点,因为它似乎ejs不能处理承诺的价值观。 我想在模型中包括承诺的价值,但似乎我过分复杂的代码需要完成。 如何在ejs轻松呈现bluebird承诺的价值? 调节器 compaintsRouter.get('/', function(req, res) { var model = data.complaint.findAndCount({ include: [data.user, { model: data.comment, include: [data.user] }], limit: 15, offset: 15 * (req.query.page || 0) }).then(function(result){ res.render('complaints/list', {model: result.rows}); }); }); ejs查看模板 <% model.forEach(function(complaint) { %> <div class="complaint"> … more html here… <footer> <span class="vote brand-success"> <% complaint.votesUp().then(function(votes){%> <%= votes […]

(Express js 4 Multer)在file upload前检查表单域(如果为空)

我要检查表单域是否为空,如果在上传文件之前更改了名称,但是首先上传文件,然后req.body被填充。 我正在使用MULTER作为中间件。 Upload.js checkField: function(req, res, next) { //Here i want to check if req.body.field1, field2 are empty or not //If empty res.send('Required fields are empty'); console.log(req.body); //This returns empty {} }, module.exports = { uploadFile: multer({ limits: { files: 1 }, dest: '/upload/', }) }; 路由器: app.post('/upload', upload.checkField, upload.uploadFile, function(req, res){});