gpt4 book ai didi

javascript - Marionette/Backbone 应用程序导致服务器(套接字)过载

转载 作者:行者123 更新时间:2023-12-02 17:36:39 25 4
gpt4 key购买 nike

我是一名新编码员,正在学习 Marionette 来制作 session 预订应用程序。我已经打听了好几个小时,并且已经敲了我的头好几个小时了。

基本上,问题是这样的,当我添加 session 时,会随机创建新的附加 session 并导致服务器过载。我想知道这是否与我的设置中没有意识到的某种循环或内存泄漏有关。

以下是创建 session 的代码: https://github.com/jdaudier/meeting-booker/blob/master/public/javascripts/app.js

该错误的简短视频:screencast.com/t/3rHIqPm07F

错误的图像:

http://screencast.com/t/feN5sbZBWzHe

screencast.com/t/Yuzys5Xizu

最佳答案

事实证明客户端代码没有任何问题。另一方面,您的服务器代码有一个微妙的错误,导致浏览器表现不佳。

在/routes/meeting.js 文件中,第 83 - 89 行:

    meeting.save(function(err){
if(!err){
return console.log('created a new meeting:', meeting.title);
} else {
return console.log(err);
}
return res.send(meeting);
});

您永远不会从此方法返回响应,因为在 if 检查的两个条件中都有一个 return 语句。因此,浏览器永远不会看到响应,并且会等待大约 90 秒(我认为),然后才会在 AJAX 调用上崩溃。

尝试 6 次失败的原因是您已达到 5 个开放网络连接的浏览器限制。

修复方法是在记录创建新 session 消息时删除不需要的返回


meeting.save(function(err){
if(err){
return console.log(err);
}
console.log('created a new meeting:', meeting.title);
return res.send(meeting);
});

完成此修复后,浏览器会从服务器获取适当的 200 OK 响应,并关闭连接。将此修复程序放入服务器代码后,我能够毫无问题地运行约 15 个 session 添加。

关于javascript - Marionette/Backbone 应用程序导致服务器(套接字)过载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22568614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com