Perl-我如何知道套接字客户端何时断开连接(当用户关闭窗口/浏览器时)

Posted

技术标签:

【中文标题】Perl-我如何知道套接字客户端何时断开连接(当用户关闭窗口/浏览器时)【英文标题】:Perl- How Do i know when socket client is disconnected (when user closes window/browser) 【发布时间】:2014-11-15 03:03:03 【问题描述】:

我正在使用 html 5 和 Perl Web 服务器套接字。套接字服务器可以知道用户何时关闭浏览器吗?请帮忙 服务器:

  Net::WebSocket::Server->new(
    listen => 8080,
    on_connect => sub 
        my ($serv, $conn) = @_;
        $conn->on(
            utf8 => sub 
                my ($conn, $msg) = @_;
                $conn->send_utf8($msg);
            ,
        disconnect => sub 
        my ($conn, $code, $reason) = @_;
        $conn->disconnect();
    ,
        );
    ,
)->start;

【问题讨论】:

【参考方案1】:

是的。在套接字上为the disconnect event 设置处理程序:

$conn->on(
    disconnect => sub 
        my ($conn, $code, $reason) = @_;
        ...
    ,
 );

【讨论】:

我试过了,但是没有用。如果你有,你能分享一下代码吗?提前致谢 如果您正在尝试一些不起作用的东西,发布不起作用的东西。我们不能盲目调试。 我试图在客户端断开/关闭窗口时关闭连接。我已经更新了有问题的代码。我学习 perl 和 web sockets。请帮忙。我写的代码正确吗? 当您的处理程序收到disconnect 事件时,连接已经断开。您无需再次断开连接。 但是当我关闭浏览器时,服务器套接字仍在执行。它没有关闭套接字连接.......当我关闭浏览器/选项卡时,我希望套接字脚本结束

以上是关于Perl-我如何知道套接字客户端何时断开连接(当用户关闭窗口/浏览器时)的主要内容,如果未能解决你的问题,请参考以下文章

SocketIO + Flask 检测断开连接

如何使用java套接字编程知道网络何时关闭

如何检测 TCP 套接字断开连接(使用 C Berkeley 套接字)

JAVA:处理套接字断开连接

如何检查客户端是不是通过 C++ 中的 Winsock 断开连接?

如何处理与 python 套接字的断开连接? (连接重置错误)