我有一个使用网页套.js(socket.io)的节点脚本。该脚本在我的计算机上运行(例如本地服务器环境),我还通过计算机上的浏览器进行测试。我正在尝试优雅地处理断开连接和重新连接。到目前为止,我已经通过禁用/启用iPad上的WiFi来模拟网络干扰。是否可以在我的本地计算机上禁用和恢复浏览器的Web套接字连接,即通过浏览器插件,第三方代理软件或其他工具?
所以我尝试过:
您可以使用一个简单的tcp代理,如tcp-agent,并简单地关闭代理以终止WebSocket连接。
在看到上面@user3661841的答案后,我创建了一个GreaseMonkey/TamperMonkey脚本,它将允许您以类似的方式禁用WebSockets。
以下是基于Chromium的浏览器(Chrome、Brave、Sidekick等)的说明。):
以下是您要单击以禁用/启用WebSocket阻止的开关:
注意1:您应该能够在控制台中看到输出,标记尝试打开WebSocket连接但被阻止。
注意2:当您禁用WebSockets进行开发时,请确保禁用此选项。如果您只使用TamperMonkey来禁用WebSockets,那么您会希望您的TamperMonkey在大多数情况下都像这样:
当你想要阻止时,就像这样:
您可以尝试重载WebSocket对象。它有点脏,但您可以在websocket尝试创建时捕获并创建延迟或其他任何内容。我还没有测试过它,但它应该是健全的。或者可能会重载WS方法本身,以便在发送或接收数据时中断。
var WebSocket2 = WebSocket;
WebSocket = function(addy) {
console.log('WS: Trying to open.');
var ws;
if (!this.blocked) {
console.log('WS: Not blocked, allowing.');
ws = new WebSocket2(addy);
this.open_sockets.push(ws);
return ws;
} else {
console.log('WS: Blocked.');
}
};
WebSocket.toggle = function() {
WebSocket.prototype.blocked = !WebSocket.prototype.blocked;
var sockets = WebSocket.prototype.open_sockets;
if (WebSocket.prototype.blocked) {
console.log('WS: Blocking. Removing Old Sockets.');
sockets.forEach(function(socket, index, sockets) {
console.log("WS: Closing -", index);
socket.close();
});
WebSocket.prototype.open_sockets = [];
console.log("WS: Sockets left open -", WebSocket.prototype.open_sockets.length);
} else {
console.log("WS: Unblocking");
}
};
WebSocket.prototype.open_sockets = [];
WebSocket.prototype.blocked = false;
对于一些网站,当我按F12按钮看到html元素,什么都没发生。为什么啊?我通过ie和谷歌chrome测试它。有什么工具可以看到这个网站的元素和媒体吗?
第一、装一个windows vm文件,苹果xcode、安卓adt就全有了!!! 第二、这个东西完全可以用作独立的xcode和adt开发环境,和X5无关,用起来很方便。 ————————————— “X5app开发特版Mac OS X 虚拟机系统“由起步X5开源app开发框架justep.com提供,Mac OS X 和Xcode版权归属苹果所有,Android ADT版权归Gioogle所有 。请
问题内容: 我正在制作一个Web应用程序,该应用程序需要检查远程服务器是否在线。当我从命令行运行它时,我的页面加载将达到完整的60秒(对于8个条目,它将随着更多线性增长)。 我决定在用户端执行ping操作。这样,我可以加载页面并让他们在浏览内容时等待“服务器在线”数据。 如果有人对以上问题有答案,或者他们知道一种可以使我的页面快速加载的解决方案,我一定会很感激的。 问题答案: 我发现有人通过非
AppEngine/DataStore包的文档使用标准环境,而云包的文档使用flex环境。
问题内容: 是否可以在tomcat的URL中关闭jsessionid?jsessionid似乎对搜索引擎不太友好。 问题答案: 你可以使用此过滤器仅对搜索引擎禁用,但我建议对所有响应都使用它,因为它比不友好的搜索引擎更糟糕。它公开了可用于某些安全漏洞的会话ID(更多信息)。 Tomcat 6(6.0.30之前的版本) 你可以使用tuckey重写过滤器。 Tuckey过滤器的示例配置: Tomcat
问题内容: 我正在阅读有关Java中已检查和未检查的异常的文章,并找到此文章/链接:https : //projectlombok.org/disableCheckedExceptions.html 根据这篇文章,这只是为javac开发的黑客。 考虑下面的代码片段: 在这里我不得不写, 因为我试图打开一个文件。在这里,“ throws”子句是必须的。没有它,我会得到一个错误。如果我确定要打开的文件