Tag: 服务器

错误node.js加载资源失败

我一直在使用node.js和socket.io,并遵循一个教程,但我不断从我正在构build的应用程序中收到错误。 这是我的server.js文件: var static = require('node-static'); var http = require('http'); var file = new(static.Server)(); var app = http.createServer(function(req, res) { file.serve(req, res); }).listen(1234); var io = require('socket.io').listen(app); io.sockets.on('connection', function(socket) { function log() { var array = [">>> Message from server: "]; for (var i = 0; i < arguments.length; i++) { array.push(arguments[i]); } socket.emit('log', array); […]

在单个服务器上运行多个节点实例

我买了一个DigitalOcean液滴,我想用来托pipe几个网站。 所有这些网站在Node.js中都有服务器。 我的液滴的结构是每个网站的目录和每个目录中的文件server.js 。 当我想在网上放一个网站时,我在正确的目录下运行node server.js 。 这将创build在端口80上运行的服务器的一个实例。 与此同时,我有几个域名,我在GoDaddy购买:site1.com,site2.com等 我的问题是:我应该怎么做,同时运行所有的节点实例,而域redirect到正确的服务器? 一个解决scheme,我不必创build一个文件,处理所有传入的请求到服务器将是首选(除非这是非常通用的,我不必每次添加一个新的网站时,我不得不修改)。 我想为每个网站使用不同的端口,但我不认为有可能将一个域site1.com:80redirect到ip_address:another_port。

Socket.io和Nodejs:向多个客户端发送响应并更改不被保存(?)

编辑:我的第一个问题已经解决(相当简单)。 第二个问题仍然有效,对于这个问题,我不知道如何解决这个问题。 我正在制作一个多人数独游戏。 我是Nodejs和套接字的新手,所以如果我的想法是错误的,请纠正我。 这是一个正在进行的工作,现在我正在做的是:当用户将一个值input到其中一个单元格中时,它将使用该单元格的索引发送到服务器的请求(?)。 然后,服务器从答题卡中find正确答案,并将结果发送回客户端。 然后,javascript代码将通过,如果正确的input被放置,它将把所有用户的答案( 注:我假设用户正在input正确的答案,现在我将工作在错误的答案部分之后 )。 问题: 1)现在,正确的答案将locking在单元格中提交正确答案的人,但不会显示给所有客户。 2)如果我向另一个单元格提交答案(无论是否正确),它将删除以前的更改 – 也就是用户先前input并locking的单元格, 这是我的JavaScript代码: function closeCellInput($cell) { var index = $boardCells.index($cell); // var target = findTarget(index); //SHOULD BE SERVER socket.emit('target', index); socket.on('targetResult', function(data){ console.log('data: ' + data); var target = data; var number = $cell.find('input').val(); var complete = false; $cell.empty().removeClass('empty').removeClass('solved').attr('style', null); socket.emit('index', index); if […]

在Node,Express JS中发送URL参数

我有一个端点https:// www ..com 当我进行curl调用时,我的端点为https:// www。.com?param1 = true 我想从Nodejs做类似的调用,我不知道是否param1应该被传递在头,连接到端点或传递选项。 什么是正确的方式呢? 我的节点JS看起来像这样打电话给我的节点服务器和我的文件看起来如下, app.post('/thisway', function(req, res){ var ENDPOINT = req.body.endPoint //(this gets me till https://<url> part of the endpoint string) var urlToHit = ENDPOINT.concat("?param1=true") var headers = { 'Authorization': xxxxx, 'Accept': '*/*', 'X-Spark-Service-Instance': xxxxx } var options= { url: urlToHit, headers: headers, json: {xxxxxx} } request(options, callback); }

Grunt不从grunt-json-server运行json_server任务

我正在使用configurationnpm页面给出的例子,但是当我尝试使用grunt.run.task (['json_server'])或concurrent: { server: { tasks [ 'json_server'] } }运行任务concurrent: { server: { tasks [ 'json_server'] } } ,grunt甚至不会在控制台输出任务名称。 它甚至不给我一个错误,如果我删除它试图指向的数据库文件。

将Nodejs服务器扩展到多个系统?

我想使用express来构buildnodejs中的聊天服务器。我已经使用集群模块在多个核心之间扩展服务器,但是如何扩展到不同的系统?

从节点服务器提供HTML文件

纯粹出于教学目的,我正在为我的一个节点服务器提供前端和后端数据。 现在,我已经成功接收到我的客户端请求,根据请求创build了一些数据,能够进行控制台日志logging等等。到目前为止,一切正常。 我的问题是,如果我的数据只是一个html文件,正在用fs库读取,当我尝试在res.end()或res.write ()。 我可以看到这正是我想要和期望的时候,我的控制台login,但它只是不会在浏览器中呈现。 任何帮助,将不胜感激。 我已经把它设置在我在“if / else”处理我的请求的地方,其中我只有“/”(home)这两个场景,在这种情况下我服务于html文件,服务器真的只需要处理这两个事件。 提前致谢。 编辑。 这是我迄今为止: function responseHandler(req, res) { res.writeHead(200, {"Content-Type": "text/html"}); if (req.url.match("fav")) { res.end(""); return; } else if (req.url.match("/endpoint")) { var input = req.url.match(/endpoint\/(.*)/)[1]; var output = endpoint.toHTML(decodeURI(input)); res.end(data); console.log(input, req.url) } else { fs.readFile("index.html", "utf8", function(err, data) { console.log("data:" + data); var input = req.url.match(/endpoint\/(.*)/)[1]; […]

NodeJS中的requestAnimationFrame()的服务器端实现

我有一些问题关于广泛使用的requestAnimationFrame()函数。 最近我遇到了一些在客户端而不是服务器端使用它的多人游戏的实现。 这样做有什么好处吗? 你可以参考我在NodeJS中的任何“最佳实践”服务器端实现吗? 更新 我在animation和游戏循环之间有点困惑 – 我正在寻找的是NodeJS =>例如setInterval 。 示例 – 客户端实现 (function () { var lastTime = 0; var vendors = ['ms', 'moz', 'webkit', 'o']; for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'] window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame']; } if […]

用Vue.js调用一个Node.js服务器

我有一个简单的Node.js服务器启动并运行。 这是代码: var http = require('http'); var server = http.createServer(); server.on('request', function(req, res) { res.writeHead(200, { 'content-type': 'text/plain' }); res.write('Hello World!'); res.end(); }) server.listen(8090); server.once('listening', function() { console.log('Hello World server listening on port %d', 8090); }); 我可以从命令行使用curl来调用这个服务器: $curl localhost:8090 但是,当我尝试从Vue应用程序调用它时,出现错误。 我有一个运行在localhost:8080上的Vue应用程序,我想调用我的localhost:8090服务器。 我的main.js Vue文件是这样的: import Vue from 'vue' import resources from 'vue-resource' Vue.use(resources) import App from […]

节点JS不听服务器端口1337

我试图在Google托pipe的特定灯服务器上打开端口,并通过ssh与服务器连接。 我已经按照这个链接来configurationnvm和最新的Node JS(v0.12.5)。 安装之后,我在“server.js”文件中使用了这个演示代码,并使用命令“node server.js”,它看起来像Node JS正在运行,在服务器控制台给出这个消息“Server ready”。 现在问题是,当我使用“netstat -n”检查打开的端口时,我没有看到任何1337端口打开,它应该是。 我也尝试使用“serverIPaddress:1337”通过浏览器进行连接,但是我收到“Conecting …”消息,然后没有任何反应。 任何想法,我搞乱了? 我也混淆了服务器IP地址(本地主机:127.0.0.1)或(globalIPaddress)放在server.js文件。 PS:请在下面findserver.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 ready');