草庐IT

同步Socket

全部标签

javascript - 如果使用 document.write,javascript 是否同步加载?

像这样在页面加载javascript是不是一样的:像这样document.write("");我在js中有很多依赖项,想将它们配置为一个单独的数组,它们只是以如下方式捆绑在index.html中:for(iinconfig.files.javascripts){document.write("");}问题是-它是否应该按预期工作,以便在加载前一个文件之前不执行下一个文件?这是我正在做的前端中没有服务器端,它有时也可以用作小部件,但对于开发和测试,我们应该加载未合并和未压缩的文件以进行测试。谢谢! 最佳答案 回答您的问题:是的,使用d

javascript - Socket.io 消息事件多次触发

我正在尝试学习node并开始使用socket.io创建混搭消息传输已经开始,但我遇到了一些麻烦。消息事件多次触发,导致一条消息在收件人的框中多次出现。我已将套接字路由到exports.chat并且想知道这是否导致了问题?缩小问题范围:消息触发次数=客户端的连接顺序。也就是说,如果客户端第二次连接,他的消息将触发两次。客户端第三次连接三次。这是代码片段:exports.chat=function(io,pseudoArray,req,res){res.render('chat',{title:'ChatPanel.'});varusers=0;io.sockets.on('connect

javascript - socket.io - socket.on 等待 promise

我有一个按钮可以与服务器进行一些通信,以检查输入的值(通过输入框)是否已经存在。代码如下:$("#button").click(function(){varexists=false;varname=$("#name").val();socket.emit("check",name);socket.on("checkReturn",function(data){exists=data.result;});if(exists){console.log("exists")}else{if(name.length>0){socket.emit("create",name);}}});});问题

javascript - 使用 Socket.IO 时如何访问 session 标识符?

我要聊天,我需要管理唯一连接。我四处搜索,但我发现的所有解决方案似乎都已被弃用。那么,我如何使用Socket.IO获取套接字的sessionID?我正在使用Node.js,Express.js和Socket.IO. 最佳答案 使用Socket.IO身份验证设置,并将cookie传递给Express的cookie解析器中间件。一旦cookie被解析,就可以获得客户端的sessionID,并从sessionstore中获取关联的session,无论是内存故事还是其他类型的store。//weneedtousethesamesecretf

javascript - Node.js 和 Socket.io : Self-signed certificates for a secure websocket connection

我一直在网上寻找直接的答案,但大多数解决方案都涉及使用Express和提供HTTP内容以实现安全连接。我对Node.js和socket.io的安全网络套接字连接(wss)更感兴趣我不使用Node.js进行HTTP请求。我使用与Node.js配合使用的socket.io模块将消息实时传递到我的应用程序。我只将Node用于网络套接字连接。我将简要说明我的设置是什么。我使用Django作为我的HTTP后端。用户向Django发出请求,Django将该请求的内容转发给Redis,Node.js监听Redis的一个channel,它处理内容并将消息发送给适当的接收者。非常简单直接。一切正常。但我

javascript - Node.js/Sequelize.js/Express.js - 如何插入多对多关联? (同步/异步?)

我有两个模型(个人、电子邮件),我正在尝试使用Sequelize命令插入到创建的“Individual_Email”表中。当Sequelize正在创建所需的表时,它在尝试向该表添加/获取/设置该表时返回以下错误:“对象[objectPromise]没有方法'addEmail'”。我错过了什么?Sequelize文档说,如果模型是User和Project,“这会将方法getUsers、setUsers、addUsers添加到Project,并将getProjects、setProjects和addProject添加到User。”这让我相信(查看promises)我可能误解了如何使用Nod

javascript - 在离线优先应用程序的情况下,如何与远程数据库同步数据?

我正在构建一个“TODO”应用程序,它使用ServiceWorkers来缓存请求的响应,如果用户离线,缓存的数据会显示给用户。服务器公开了一个REST-ful端点,该端点具有为资源公开的POST、PUT、DELETE和GET端点。考虑到当用户离线并提交TODO项时,我将其保存到本地IndexedDB,但由于没有网络连接,我无法向服务器发送此POST请求。对于用户更新或删除现有TODO项的PUT、DELETE请求也是如此问题当连接重新联机时,使用什么模式将挂起的请求与REST-ful服务器同步? 最佳答案 Whatpatternsar

javascript - 自动重新连接超时后如何重新连接 socket.io 客户端?

笔记本电脑进入休眠状态很常见。这会导致socket.io客户端断开连接。当用户返回到Web应用程序时,socket.io客户端不会尝试重新连接(可能达到重新连接限制?)。如果用户执行某些操作,我如何告诉套接字重新连接?例如,我希望emit函数检查连接是否处于事件状态,如果没有则尝试重新连接。注意:我只需要客户端JS代码,我没有使用node.js。 最佳答案 在0.9版中,您可以尝试将连接选项对象设置为一些激进的设置:varmain=io.connect('/',{'reconnectiondelay':100,//defaultst

javascript - 需要 : var io = require ('socket.io' )(http); 的双参数

我是node和JS的新手,正在研究socket.io聊天示例(http://socket.io/get-started/chat/)。我在服务器中遇到了这段代码:varapp=require('express')();varhttp=require('http').Server(app);vario=require('socket.io')(http);我看过其他教程,之前从未见过require之后的双括号。(http)部分有什么作用?它是require的参数,它改变了类型,还是其他什么?谢谢! 最佳答案 在JavaScript中,

javascript - 我应该在哪里放置与 redux 中的 Action 相关的同步副作用?

(注意:我的问题没有写清楚,我在想一些错误的地方。问题的当前版本只是尝试写一些可以使接受的答案对尽可能多的人有用的东西。)我想要一个将项目添加到商店并将其注册到外部依赖项的操作。我可以使用thunk中间件并编写exportfunctionaddItem(item){returndispatch=>{dispatch(_addItemWithoutRegisteringIt(item));externalDependency.register(item);};}但订阅者会在项目注册之前收到通知,他们可能依赖于它是否已注册。我可以颠倒顺序写exportfunctionaddItem(ite