Skip to content

Instantly share code, notes, and snippets.

@tfkd
Created September 1, 2012 11:52
Show Gist options
  • Save tfkd/3571017 to your computer and use it in GitHub Desktop.
Save tfkd/3571017 to your computer and use it in GitHub Desktop.
MessagePackを試してみる。うまくデータ渡せていないみたいでなにかおかしい
#!/usr/bin/env perl
use strict;
use warnings;
use AnyEvent;
use AnyEvent::Socket;
use Data::MessagePack;
use Data::MessagePack::Stream;
use Data::Dumper;
my $cv = AnyEvent->condvar;
my $unpacker = Data::MessagePack::Stream->new;
tcp_server undef, 12345, sub {
my ($fh, $host, $port) = @_;
read($fh, my $message, 1024);
warn unpack("H*", $message);
$unpacker->feed($message);
while ($unpacker->next) {
print Dumper($unpacker->data);
}
};
$cv->recv;
#!/usr/bin/env perl
use strict;
use warnings;
use AnyEvent;
use AnyEvent::Socket;
use Data::MessagePack;
use Data::MessagePack::Stream;
use Data::Dumper;
my $cv = AnyEvent->condvar;
tcp_connect "localhost", 12345, sub {
my ($fh) = @_
or die "localhost 12345 connect failed: $!";
my $data = {a=>1,b=>2};
my $message = Data::MessagePack->pack($data);
syswrite $fh, "$message";
$cv->send;
};
$cv->recv;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment