草庐IT

om-an-ios-device

全部标签

javascript - [Socket.io/Node.js]获取客户​​端连接用户列表

我在socket.io客户端中遇到问题,因为我无法在我的客户端中显示所有用户用户名的列表。我只是socket.io的新手,我知道如何在服务器端编码。我在客户端编程方面遇到困难。我只想在我的client.html中显示连接的用户用户名.这是我在server.js中的一些代码varusers=[];app.get('/',function(req,res){res.sendfile(__dirname+'/index.html');});io.sockets.on('connection',function(socket){socket.on('adduser',function(user

javascript - Node.js 路由 : Adding route handlers to an already instantiated http server

如何将路由处理程序添加到已存在且已实例化的http服务器?我发现的所有路由器(包括express)似乎都要求将它们传递到http.createServer()方法中。例如express:varserver=http.createServer(app);我的主要标准:以类似于sockjs的方式将路由添加到现有服务器做到了。不知道正在使用的路由器(如果有的话)不依赖于现有的路由器“app”对象来添加路由(使用路由库创建一个新的就可以了)。示例:将服务器传递给SockJSvarhttp_server=http.createServer();//agnosticsockjs_server.in

javascript - 带有 websocket 的 Node.js socket.io

我是Node.js或websocket的初学者。我有问题:我的HTML代码:test"usestrict";vargniazdo=newWebSocket('ws://localhost:3000');gniazdo.onopen=function(){console.log('Połączono');};gniazdo.onmessage=function(m){console.log(m.data);};我的Node.js代码:vario=require('socket.io')(3000);io.on('connection',function(socket){console.l

javascript - NodeJS & Socket.IO : Emit a request event and get the response, 我应该何时/何地绑定(bind)监听器?

我目前想知道在这种情况下什么是最佳编程实践:假设我已将客户端连接到我的服务器。这个客户端要求服务器使用auth事件和他的用户名进行身份验证。socket=io();socket.emit('auth',"John");在这个简单的例子中,服务器响应一个带有用户ID的auth_succeed事件。io.on('connection',function(socket){socket.on('auth',function(username){socket.emit('auth_succeed',id);}}所以我的问题是,我应该在何时何地为客户端中的auth_succeed事件绑定(bind

javascript - Canvas 弧的 Agar.io 风格波纹效果

我真的很喜欢他们创造在线游戏agario的方式。我一直在想:“他们是如何为边缘创造这种涟漪效应的?”我能想到的有几点:1)边框由许多矢量点组成,因此允许灵活的边框动画。2)边框是预定义的gif动画。3)边缘周围有很多不可见的像素。它们围绕圆弧循环并激活其中的几组像素,因此产生了边界正在“收缩”和“缩回”的错觉。如何在HTML5canvas中完成这样的事情?您认为我的3个解决方案想法之一是否适用,还是比这更复杂? 最佳答案 您可以做的是围绕圆周重复绘制正弦波。得到绕圆任意Angular正弦波[x,y]点的方程为:varx=center

javascript - 如何在忽略冠词 (A, an, the) 的同时对 javascript 数组进行排序?

我有以下排序函数来对书籍列表进行排序:varcompare=function(a,b){varaTitle=a.title.toLowerCase(),bTitle=b.title.toLowerCase();if(aTitle>bTitle)return1;if(aTitle我如何调整它以便忽略每个标题开头的文章? 最佳答案 您可以简单地使用函数removeArticles()来检查句子中是否有多个单词,如果有则返回第二个单词进行比较。对于特定的单词,您只需要为单词添加条件,例如(words[0]=='a'||words[0]==

javascript - Angular : How to make an element that will close UI bootstrap dropdown on click

我正在使用AngularUI使用bootstrap,我正在使用uib-dropdown。我已将自动关闭设置为外部点击,但我还想在下拉列表中创建一个按钮来关闭它。我尝试将uib-dropdown-toggle添加到其中一个元素,但这完全破坏了下拉菜单(它根本打不开)。如何创建关闭下拉菜单的元素?相关代码:X...... 最佳答案 只需使用is-open属性和Angular变量来控制下拉菜单的“开放性”。然后您可以通过编程方式将此变量值设置为false以关闭下拉列表。这是您的代码中的示例:X......

javascript - 带有 Socket.IO 的 NodeJS 延迟发送数据

我使用的示例来自Socket.IO主页(http://socket.io/)。它可以正常工作,但在发送数据和另一端接收数据之间存在巨大的延迟。我正在使用XAMPP,我的目录中有socket.html,并在我的浏览器中使用“http://localhost/socket.html”导航到它,我让服务器监听端口8080。服务器:vario=require('socket.io').listen(8080);io.sockets.on('connection',function(socket){socket.emit('news',{hello:'world'});socket.on('my

javascript - 在 Socket.IO 和 WS 之间共享 WebSocket 连接

为了能够在利用Socket.IO的RPC功能的同时发送二进制数据,我认为我可以同时使用Socket.IO和WS同一台服务器上的模块。我想知道是否可以使用同一个HTTP服务器,而不是打开完全独立的服务器来建立两个连接。是否可以同时为Socket.IO和WS仅使用一个通过http.createServer()创建的服务器?明确地说,我希望从客户端创建Socket.IO连接和常规WebSocket连接。以下代码在客户端创建协议(protocol)错误,大概是因为Socket.IO和WS都在尝试处理连接。varhttp=require('http');varserver=http.create

javascript - Socket.io 检测断开连接原因

我正在使用socket.io,我可以从断开事件中检测断开原因吗?我可以在这样的日志文件中看到信息:传输端(启动)信息:传输结束(关闭超时)信息:传输结束(错误)我想知道原因(启动、关闭超时、错误)我会这样使用:socket.on('disconnect',function(){console.log('User1disconnectedbecause'+reason);});我能知道原因吗?编辑:我找到了解决方案socket.on('disconnect',function(reason){console.log('User1disconnectedbecause'+reason);}