我在Catalyst中开发了一个PSGI应用程序,它使用WebSockets进行前端和后端之间的通信。基本上我们做的是,一旦用户会话被认证,我们打开一个websocket到后端,在客户端上加载JS应用程序(Angular)并从后端通过后端检索任何请求的数据或任务websocket(基于事件的使用AnyEvent)。
该系统运作良好,但这是一个非常烦人的问题:
每次用户进行页面重新加载时,websocket都会被终止。这是我们期望发生的事情,因为套接字是通过JS打开的(在页面刷新时重新加载)。对于最终实现,这不是一个问题(我们只是在每次重新加载页面时将用户重定向到登录页面)。但在开发过程中,这显然非常烦人。每次前端开发人员对JS进行微小更改时,他都必须再次登录等等。
我会尽量避免在CGI中开发整个东西,因此它可以用于开发。
有人有解决方案吗?是否有可以使用的特定websocket开发服务器?
目前,PSGI应用程序正在Twiggy上运行。奇怪的是,在某些机器上它是刷新安全的,在其他机器上它不是(相同的OS,twiggy,perl,催化剂版本)。
非常感谢任何帮助!