我试图在Perl中创建一个套接字客户端.服务器端是在本地主机上运行的C程序.
我必须在套接字上发送一个哈希值.这是我正在使用的一段代码.
sub applyGlobalConfig {
my ($globalConfig, $ignoreData) = @_;
my $socket = IO::Socket::INET->new(PeerAddr => $PEER_HOST,
PeerPort => $PEER_PORT,
Proto => "tcp",
Type => SOCK_STREAM)
or die "Couldn't connect to $PEER_HOST:$PEER_PORT : $@\n";
my $reconfigResult;
print $socket "$113\n";
close($socket);
unless ($reconfigResult) {
return 0;
}
return ERR_NULL;
}
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是,$globalConfig将包含一个哈希引用,我想通过套接字发送它.我无法弄清楚.我用谷歌搜索并发现了一些对Dumper的引用但是不太了解.如何发送哈希?
要通过套接字发送数据结构,必须将其"序列化"为字节流.然后接收程序必须对其进行反序列化以重新组装数据结构.如果接收程序期望流处于特定形式,则发送程序必须产生预期的格式.
如果您正在编写双方,那么您可以选择对您的情况有意义的序列化格式,例如JSON或XML,其中任何一个都可以表示Perl哈希.但是,如果不了解有关您具体情况的更多详细信息,则可以通过答案的方式提供所有相关信息.
| 归档时间: |
|
| 查看次数: |
1016 次 |
| 最近记录: |