#!/usr/bin/perl use IO::Socket::INET; use IO::Select; use Compress::Zlib ; use strict; my $COMPRESSION_BORDER = (16*1024+1); #my $size = 128; my $size = 5012; my $padding = "AA"x$size; my $MySocket=new IO::Socket::INET->new(PeerPort=>5555, Proto=>'tcp', PeerAddr=>'192.168.1.100'); # PeerAddr=>'127.0.0.1'); my $text; my $data = pack("C", "47").pack("C", "12").pack("N", "5012").$padding; # type fields size my $msg; if(length($data) > $COMPRESSION_BORDER){ $msg = compress($data); print "Compressing data"; } else { $msg = $data; } my $header = pack("n", length($msg)); $MySocket->send($header.$msg); $MySocket->recv($text,128); print "Received 1: $text\n"; $MySocket->close();