我正在尝试通过可存储的nfreeze通过套接字发送标量值。
一步步:
$serializedHash = nfreeze \%hash;
$sendSocket->send($serializedHash);
只要标量
$serializedHash
不大于1024byte,此方法就可以正常工作。因为我在另一侧有一个只能接收最大数据的套接字。长度为1024byte。我也无法将
$serializedHash
存储在文件中,然后使用sysread
和syswrite
处理它。我不希望每个套接字发送每行,因为我的Hash有超过200万个条目。哈希元素由
\n
分隔,因此我尝试了split
函数,但随后我有了一个包含200万个条目的数组。如何通过UDP套接字发送数据包中的数据?
最佳答案
您可能可以按块处理序列化的哈希,如下所示:
while ($serializedHash =~ /(.{1,1024})/sg) {
my $chunk = $1;
# sending $chunk
}
关于perl - 通过UDP发送数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9431675/