在Chrome应用程序的应用程序窗口关闭时关闭Websocket
Close a Websocket on application window close for a Chrome application
我在浏览器窗口中启动了一个Chrome应用程序,该应用程序使用web套接字。应用程序绑定到localhost:9999
。在我关闭应用程序窗口并重新打开之前,所有这些都可以正常工作。Chrome仍然保留着这个端口,并出现了一个错误。
我希望能够在窗口关闭时关闭web套接字/取消绑定端口,以便在重新打开时再次建立连接。
我尝试了background.js
文件中的chrome.app.window.onClosed
,但没有成功。当窗户关上的时候,似乎没有人叫它。我不知道这是因为我必须告诉它该往哪个窗口看。
为应用程序创建窗口后,您可以附加一个OnClosed侦听器。另请参阅https://developer.chrome.com/apps/app_window#event-on关闭
chrome.app.runtime.onLaunched.addListener(function(launchData) {
chrome.app.window.create(
'index.html',
{ id: 'win'},
function(createdWindow) {
function mainWindowClosed () {
websocket.close();
}
mainWindow = createdWindow;
mainWindow.onClosed.addListener(mainWindowClosed);
}
);
});
我也遇到了类似的问题。onClosed
侦听器不工作。解决方法是当你启动你的应用程序并创建一个套接字时,在创建并绑定到它之前,首先检查它是否可用
使用返回打开的sockets(sock_arr)
的数组的chrome.sockets.udp.getSockets()
。现在,在for循环(即sock_arr[i].localPort == 9999
(中查找localPort,并关闭套接字(如果找到(。然后继续创建和绑定套接字。
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- Emberjs应用程序加载在除Index之外的所有路由上
- 使用 Websocket 的 Web 应用程序的虚拟控制台
- WebSocket 应用程序在部署在 Tomcat8 服务器上时无法正常工作
- 恶意软件将代码注入我的Dojo/WebSocket应用程序:如何防止
- 无法从我的 Angular2 应用程序中连接到我的 WebSocket
- 对 WebSocket/AJAX 应用程序执行“软刷新”(仅限 JS 和 CSS)
- 重新加载页面后,Websocket ruby应用程序崩溃
- 正在为websocket应用程序创建登录名
- Websocket应用程序和身份验证
- 对节点应用程序进行群集时Socket.io websocket授权失败
- 使用websocket的聊天应用程序
- 在Polymer网络应用程序中实现websocket的最佳方式
- chrome打包应用程序中的Websocket服务器
- 如何从WebSocket客户端计算机进入睡眠状态或应用程序进入后台(iPad上的Safari)中恢复
- 用于可以与数据库交互的java应用程序的Html5-websocket实现
- 在Chrome应用程序的应用程序窗口关闭时关闭Websocket
- Java应用程序"向前"从TCPSocket到WebSocket的数据
- WCF全双工应用程序与Websocket客户端
- Demeteorizer编译流星应用程序并导致WebSocket连接错误