我在 Perl 服务器中使用套接字时遇到了一点麻烦。
你怎么知道一个(非阻塞的)客户端刚刚断开连接?在C中,我习惯做
if (recv(sock, buff, size, flags) == 0) {
printf("Client disconnected\n";
}
或 python 或其他语言中的等价物:recv
如果没有可用数据,则返回 -1,如果客户端退出,则返回 0,如果可以读取数据,则返回正数。
但是 perlrecv
不是这样工作的,并且 using$data = <$sock>
似乎没有任何可能知道。
有没有(简单的)可能性?