我的应用程序希望将$env->{'psgix.io'}
句柄传递给单独的进程以进行进一步的WebSocket处理。通过UNIX套接字dup()
的句柄传递,所以我不太关心从应用程序返回到PSGI服务器的任何答案。但我认为没有选择只是静默关闭连接而不返回应用程序的任何响应。当我什么也没有返回时,PSGI服务器不满意并记录" 500内部服务器错误"。当我返回像sub {}
这样的代码引用时,Twiggy很高兴,但uWSGI不是。任何其他有效的PSGI答案都会破坏WebSocket协议。
我尝试dup()
原始句柄并返回WebSocket握手的最后一部分作为PSGI答案,它与uWSGI一起工作但与Twiggy没有关系。
我查看了不同的PSGI / WebSocket实现,他们执行以下操作之一:
sub {}
。PSGI协议中没有回答和静默关闭连接的正确方法是什么?
更新:看起来Twiggy使用[]
作为 PSGI取消消息。我uwsgi
执行此操作的补丁已成功合并。