如何通过网络套接字发送 Perl 哈希值?

发布于 2024-12-20 08:04:56 字数 204 浏览 0 评论 0原文

我正在开发一个由服务器和多个客户端组成的工具。 客户端创建需要通过网络套接字发送到服务器的哈希值。

我认为 nstore 是正确的做法,但我找不到在服务器上检索数据的方法。

谁能告诉我如何正确执行此操作?

问候尼克

PS:我知道我可以以某种字符串格式写入数据并在服务器上重建它,但我想知道是否可以避免这种情况。

i am working on a tool that consists of a server and multiple clients.
The clients create a hash that needs to be sent to the server via network socket.

I thought nstore would be the right thing to do it, but i could not find a way to retrieve the data on the server.

Could anyone tell my how to properly do this?

Regards Nick

PS: I know that I could write the data in some kind of string format and reconstruct it on the server, but i am wondering if that could be avoided.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

自由范儿 2024-12-27 08:04:56

发送:

Storable::nstore_fd( \%hash, $socket );

检索:

my $ref = Storable::fd_retrieve( $socket );

我想这就是您所需要的。如果您不知道如何创建套接字——或者没有启动它的协议——我认为这是一个更紧迫的问题。前者请参见 IO::Socket::INET

Send:

Storable::nstore_fd( \%hash, $socket );

Retrieve:

my $ref = Storable::fd_retrieve( $socket );

I think that is all you need. If you don't know how to create the socket--or don't have a protocol to initiate this--that is a more pressing issue, I would think. See IO::Socket::INET for the former.

誰認得朕 2024-12-27 08:04:56

作为已发布解决方案的替代方案,您可以使用 YAMLJSON 也是如此。

As alternatives to already posted solutions, you can use YAML or JSON, too.

红ご颜醉 2024-12-27 08:04:56

您可以将 Data::Dump 和 eval 结合起来。这个想法是序列化你的数据结构(哈希)、传输和解码(评估):

$a = { ... }
$serializable_a = Data::Dump::dump($a)

# transmit && receive

$a_clone = eval( $serializable_a_received ) ;

you can combine Data::Dump and eval. The idea is to serialize your data structure (hash), transmit and decode (evaluate):

$a = { ... }
$serializable_a = Data::Dump::dump($a)

# transmit && receive

$a_clone = eval( $serializable_a_received ) ;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文