Perl 如何在没有响应的情况下关闭PSGI连接?
我的应用程序希望将Perl 如何在没有响应的情况下关闭PSGI连接?,perl,websocket,psgi,Perl,Websocket,Psgi,我的应用程序希望将$env->{'psgix.io'}句柄传递给单独的进程,以便进行进一步的WebSocket处理。通过unixsocketdup()s句柄传递,所以我不想将任何答案从应用程序返回到PSGI服务器。但我看不到在不返回应用程序的任何响应的情况下,仅以静默方式关闭连接的选项。当我什么也不返回时,PSGI服务器不高兴,并记录“500内部服务器错误”。当我只返回像sub{}这样的代码引用时,Twiggy很高兴,但uWSGI不高兴。任何其他有效的PSGI答案都会破坏WebSocket协议
$env->{'psgix.io'}
句柄传递给单独的进程,以便进行进一步的WebSocket处理。通过unixsocketdup()
s句柄传递,所以我不想将任何答案从应用程序返回到PSGI服务器。但我看不到在不返回应用程序的任何响应的情况下,仅以静默方式关闭连接的选项。当我什么也不返回时,PSGI服务器不高兴,并记录“500内部服务器错误”。当我只返回像sub{}
这样的代码引用时,Twiggy很高兴,但uWSGI不高兴。任何其他有效的PSGI答案都会破坏WebSocket协议
我试图dup()
原始句柄并返回WebSocket握手的最后一部分作为PSGI答案,它对uWSGI有效,但对Twiggy无效
我查看了不同的PSGI/WebSocket实现,它们执行以下操作之一:
sub{}
[]
用作PSGI取消消息。我的uwsgi
补丁也成功合并