现在,我在循环中一次读取一个角色,直到我到达\0
角色.有一个更好的方法吗?
将行结束设置为\x{00}
(\ 0),确保将其本地化,并getline
在句柄上,如下所示:
{
local $/ = "\x{00}";
while (my $line = $sock->getline) {
print "$line\n"; # do whatever with your data here
}
}
Run Code Online (Sandbox Code Playgroud)
当数据长度未知时,从 Perl 中的套接字接收数据的最佳方法是什么?
对于任何语言来说,解决这个问题都是不可能的。如果您不知道数据长度有多长,那么您就不可能知道何时从套接字接收完所有数据。
您唯一的希望是使用某种指标来确定自数据开始进入以来是否“足够长”,以做出数据流已停止的决定。但它不会是完美的。
归档时间: |
|
查看次数: |
4120 次 |
最近记录: |