OutputStream stream = s.getOutputStream(); if (stream != null) { DataOutputStream output = new DataOutputStream(stream); if (output != null) { output.writeShort(0); output.writeShort(0); output.writeShort((short) theData.length()); output.writeBytes(theData); output.flush(); res = true; } } #### use strict; use warnings; use IO::Socket; my $host = '198.81.233.12'; #not real IP address my $port = 1302; #not real port my $data = '003 0000000073223 30000073223091706407 20040513023'; my $msg_out = pack("nnna*", 0, 0, length $data, $data); print "\$msg_out = -$msg_out-\n"; my $socket = IO::Socket::INET->new( PeerAddr => $host, PeerPort => $port ) or die "Can't connect: $!\n"; print $socket $msg_out; my $msg_in = <$socket>; print "->$msg_in\n"; $socket->close or warn $@;