【发布时间】:2012-02-24 13:37:37
【问题描述】:
我正在尝试通过套接字发送一个标量值,这是我使用 nfreeze 从可存储中获得的。 一步一步:
- 我得到了标量
$serializedHash = nfreeze \%hash; - 我想通过套接字发送它
$sendSocket->send($serializedHash);
只要标量 $serializedHash 不大于 1024 字节,就可以正常工作。因为我在另一边有一个只能接收最大数据的套接字。长度为 1024 字节。
我也不能将$serializedHash 存储在一个文件中,然后用sysread 和syswrite 处理它。
我不希望每个套接字发送每一行,因为我的 Hash 有超过 200 万个条目。哈希元素由 \n 分隔,因此我尝试使用 split 函数,但随后我得到了一个包含 200 万个条目的数组。
如何通过 UDP 套接字以包的形式发送数据?
【问题讨论】:
-
为什么是 UDP?实在是不胜任。 (有关详细信息,请参阅我对 raina77ow 答案的评论。)
标签: perl sockets udp send storable