Articles of 客户端服务器

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.js中发出HTTP请求并发送一个数据体

我目前正在通过Guillermo Rauchs“Smashing Node.Js”书。 我被困在第7章,其中的任务是build立一个客户端/服务器,并通过http连接从客户端发送一个string到服务器。 该string应该从服务器打印。 客户端代码: var http = require('http'), qs = require('querystring'); function send (theName) { http.request({ host: '127.0.0.1' , port: 3000 , url: '/' , method: 'GET' }, function (res) { res.setEncoding('utf-8'); res.on('end', function () { console.log('\n \033[090m request complete!\033[39m'); process.stdout.write('\n your name: '); }) }).end(qs.stringify({ name: theName})); } process.stdout.write('\n your name: '); […]

分离的客户端和服务器的身份验

我已经在客户端创build了angular色2的Web应用程序,并为服务器端创build了具有express框架的NodeJS 。 对于客户端来说,我使用angular-cli生成了在lite-server上运行的项目,所以我的客户端和服务器在两个不同的服务上运行。 我想集成ADFS身份validation。 为了实现身份validation,我使用passport-saml包。 我的服务器端API有一个中间件,需要用户进行身份validation。 当直接到达服务器(没有客户端)时,身份validation过程正常工作。 但是,我无法通过@angular/http访问API 。 我尝试了一个简单的GET请求从服务器(与中间件在终点),结果我得到的身份validation页面没有redirect(我不认为这是核心问题,但实际的实施)。 在服务器和客户端使用单独的服务时,我应该如何正确地实现身份validation?

Node.js和客户端共享相同的脚本

使用Node.js的一个理论好处是可以在客户端和服务器之间共享相同的脚本。 如果客户端不支持JavaScript,那么这将使服务器可以降低相同的function。 然而,Node.js require()方法是自己的。 在你加载的脚本中,你可以添加一些东西到this或者exports ,稍后在获取脚本的对象中可用: var stuff = require('stuff'); stuff.show(); 在stuff.js中: this.show = function() { return 'here is my stuff'; } 所以,在客户端重新使用这个脚本时, .show()方法将被添加到window范围中。 这不是我们想要的,而是我们想将其添加到自定义名称空间。 到目前为止,我唯一的解决scheme就像(在stuff.js中): var ns = typeof exports == 'undefined' ? (function() { return window['stuff'] = {}; })() : exports; ns.show = function() { return 'here is my stuff'; } delete ns; […]

ReactJS服务器端渲染与客户端渲染

我刚开始学习ReactJS,发现它给了你两种呈现页面的方式:服务器端和客户端。 但是,我不明白如何一起使用它。 是build立应用程序的两种不同的方式,还是可以一起使用? 如果我们可以一起使用,那么我们需要在服务器端和客户端复制相同的元素吗? 或者,我们可以在服务器上构build应用程序的静态部分,还是在客户端上构builddynamic部分,而无需连接到已经预渲染的服务器端?