http://qs1969.pair.com?node_id=1044204


in reply to Re: How to sent binary data in socket programming ?
in thread How to sent binary data in socket programming ?


hi...

I think I am able to sent data into remote server. But the recv() function did not display any thing or acknowledgement from the remote server. Could somebody help me ?. My code as below:
#!/usr/bin/perl use strict; use warnings; use IO::Socket::INET; use MIME::Base64; my $host = shift || "19.25.15.22"; my $port = shift || 1998; my $dir = "/data/input"; my $data = `cat $dir/cdr-data.dat |sed 's/ //g'`; my $binary = pack ("H*", $data); print "DATA : $data\n"; print "ASCII: $binary\n"; # auto-flush on socket $| = 1; # create a connecting socket my $socket = new IO::Socket::INET ( PeerHost => $host, PeerPort => $port, Proto => 'tcp', ); die "cannot connect to the server $!\n" unless $socket; print "Connected to server [$host] with port $port\n"; # data to send to a server my $size = $socket->send($binary); print "Sent binary data as request to $host [length $size]\n"; # notify server that request has been sent shutdown($socket, 1); # receive a response of up to 1024 characters from server my $response = ""; $socket->recv($response, 1024); print "received response: $response\n"; $socket->close();