perl - 通过UDP发送数据包

标签 perl sockets udp send storable

我正在尝试通过可存储的nfreeze通过套接字发送标量值。
一步步:

  • 我得到标量$serializedHash = nfreeze \%hash;
  • 我想通过套接字发送它$sendSocket->send($serializedHash);

  • 只要标量$serializedHash不大于1024byte,此方法就可以正常工作。因为我在另一侧有一个只能接收最大数据的套接字。长度为1024byte。
    我也无法将$serializedHash存储在文件中,然后使用sysreadsyswrite处理它。

    我不希望每个套接字发送每行,因为我的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/

    相关文章:

    perl html 解析库/工具

    java - DatagramSocket 关闭后端口仍在使用

    android - 连接两个仿真器以在它们之间建立Socket连接

    networking - 为什么 UDP 广播以比 TCP 低得多的速度阻塞路由器?

    python - 从 udp 接收符号,为什么?

    perl - 如何从命令行运行 CGI::Application 运行模式?

    perl - 如何找到 Perl 脚本的模块依赖项?

    perl - 为什么在 `map` BLOCK中没有插值?

    PHP套接字检查是否未连接

    java - 需要在 Java 中发送 UDP 数据包并接收响应