Articles of http

“node.js:throw e; // process.nextTick错误“,同时尝试浏览

我不打算使用其他模块如request ,如何用http写这个, 播种到浏览器时应该考虑什么? 错误: $ coffee server.coffee info – socket.io started to send to write end? node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: getaddrinfo ENOENT at errnoException (dns.js:31:11) at Object.onanswer [as oncomplete] (dns.js:140:16) 资源: ll = console.log fs = require 'fs' page = fs.readFileSync 'page.html', 'utf-8' query = […]

提供远程会话ID后,远程传输会话不响应

那么这将是一个相当晦涩的话题,但我会试一试,也许有人会知道答案。 我正在为传输BitTorrent客户端写一个小型的远程Node.js客户端。 通信通过使用JSON对象的RPC进行处理。 这是规范 。 而我的代码(用CoffeeScript编写,如果这是一个问题,我也可以提供相应的JavaScript代码,只是不想让这个问题太长而无法阅读),重要的部分: runRemoteCommand: (params) -> # convert JSON object to string params = JSON.stringify params #, null, " " # set request options options = host: @config.host port: @config.port path: @config.rpcPath auth: "#{@config.username}:#{@config.password}" headers: 'Content-Type': 'application/json' 'Content-Length': params.length method: 'GET' # we don't know the session id yet sessionId = false […]

当我closures一个http服务器时,为什么我的套接字挂断?

我对我们的node.js服务器实施了一个优雅的停止。 基本上是这样的: var shutDown = function () { server.on('close', function () { console.log('Server ' + process.pid + ' closed.'); process.exit(); }); console.log('Shutting down ' + process.pid + '…'); server.close(); } 但是,当我closures这样的服务器,我得到一个Error: socket hang up错误在我的连续请求。 我认为server.close()会使服务器停止监听并接受新的请求,但继续处理所有挂起/打开的请求。 但是,这应该导致Error: connect ECONNREFUSED 。 我究竟做错了什么? 附加信息:服务器由一个主人和三个分叉的孩子/工作人员组成。 但是,船长没有监听或绑定一个港口,只有这些孩子,他们被closures,如上所述。

为什么我的节点静态文件服务器丢失请求?

我有一个标准的node.js静态文件服务器,我想用它来为同一个目录(即典型的HTML5单页面应用程序)提供正常的html,js,css和jpg文件。 我希望节点服务器可以正确处理这个问题。 我看到的是不同的。 index.html文件被提供,但随后的请求被删除(即,他们从来没有把它送到服务器)。 在我的chrome开发工具中,我看到像这样的东西: GET http://projectcoho.cloudfoundry.com/css/coho.css http://projectcoho.cloudfoundry.com/:7 GET http://projectcoho.cloudfoundry.com/sencha-touch/sencha-touch-debug.js http://projectcoho.cloudfoundry.com/:8 GET http://projectcoho.cloudfoundry.com/coho-debug.js http://projectcoho.cloudfoundry.com/:8 但是,这些资源存在于服务器上,如果您直接inputURL,则可以访问这些资源。 而对于这些请求,我的callback在app.js从来没有被调用(我可以告诉这个,因为console.log从来没有被要求这些文件。 这是app.js文件: var path = "."; var port = process.env.VCAP_APP_PORT || 3000;; var file = new(static.Server) (path, { cache: 600 }); mime.define({ 'text/css': ['css'], 'text/javascript': ['js'], 'image/jpeg': ['jpg', 'jpeg'] }); http.createServer(function (request, response) { var uri = url.parse(request.url).pathname; var filename […]

谷歌浏览器不会caching内容

我一直在寻找解决办法,但迄今没有。 我在Node.js / Express中dynamic地呈现HTML页面,通过SHA256生成一个ETag,对HTMLstring进行散列处理,然后通过nginx发送页面。 出于某种原因,Google Chrome浏览器不会caching页面,也不会为以前的ETag发送“If-None-Match”标头。 这是我的请求和响应标题: 请求: GET / HTTP/1.1 Host: dev.logan.oikoi.co Connection: keep-alive Cache-Control: max-age=0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.82 Safari/537.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 Cookie: km_ai=Q%2FR9nmmebaNLthhixes8jxMubzQ%3D; km_uq=; kvcd=1346083163009; km_vs=1; km_lv=1346083163 响应: HTTP/1.1 200 OK Server: nginx/1.2.3 Date: Sun, 26 Aug […]

Node.js如何处理连接?

我想知道节点如何处理连接。 我的意思是:当我跑步… node myserver.js …我提出请求,Node做什么? 我做了一个testing。 我有一个服务器运行socket.io。 我在浏览器中打开了两个标签,它们构build了WebSockets连接。 我检查线程( ps -eLf ),并且总是运行相同的6个线程: node 12837 12518 12837 1 6 22:29 pts/0 00:01:10 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js node 12837 12518 12838 0 6 22:29 pts/0 00:00:00 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js node 12837 12518 12839 0 6 22:29 pts/0 00:00:14 node /usr/local/lib/node_modules/node-dev/wrapper.js prueba1.js node 12837 12518 12840 0 6 22:29 […]

NodeJS的连接池

我有一个应用程序已经最大的连接到MongoDB的数量,我假设如果驱动程序设置正确,你不必担心closures连接。 我见过有人提到通用池模块,但是使用Node和MongoDBclosures或合并连接的最佳过程是什么? 这是我的应用程序的连接代码: var sys = require("sys"); var app = require('http').createServer(handler); var io = require('socket.io').listen(app); app.listen(1337); io.configure(function () { io.set('authorization', function (handshakeData, callback) { callback(null, true); }); }); function handler (req, res, data) { sys.puts('request made to trackerapp.js'); res.writeHead(200); res.end(data); } io.sockets.on('connection', function (socket) { socket.on('adTracker', function (data) { var adRequestData = data; var databaseUrl […]

如何让用户删除post?

在下面,我有一个用户可以发出的发布请求,如果名称为_method的隐藏表单项目被删除,它将向我自己的服务器发出一个请求到不同的路由,并从数据库中删除这个post。 这个过程应该如何工作? app.post("/posts/:id/delete", function(req, res){ if(req.body._method = "delete"){ request({ "method": "delete", "url": "/posts/"+req.param.id }, function(err, response, body){ res.redirect("/posts"); }); } }); app.delete("/posts/:id", function(req, res){ //delete it from the database res.redirect("/posts"); });

NodeJS上下文问题

我遇到了问题,从Node.JS中的sqlite(sqlite3)库中写入套接字(使用http) https://gist.github.com/RyanCopley/6004c3ce372e060bbf18 第68至75行,我有4次尝试写。 在db.each之外,一切工作在任何情况下。 在它的内部,它崩溃悲惨。 我不完全确定为什么,但我觉得两个图书馆之间有冲突 BTW我已经知道连接SQL语句是不好的:3

通过代理服务器请求http调用

我们的服务器没有代理服务器进行http调用 是否有可能通过代理服务器进行相同的调用? (我们想要使用请求。) 示例代理服务器:112.175.18.180端口80 app.js: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); var request = require("request"); var parseMyAwesomeHtml = function(html) { console.log(html); }; request("http://checkip.dyndns.org/", function (error, response, body) { if (!error) parseMyAwesomeHtml(body); else console.log(error); });