Socket programming muddle

M

mwql

The script waits, during execution, and after a while, it prints:
"Use of uninitialized value in print ..."

I am pretty sure I screwed up setting up the peer connection. I
tried the GET command on telnet and it works fine. When I checked
through several resources, it seems that I am setting up the connection
according to the rules.

I ran another similar-url-get script, had a quick browse through
the socket connection set up, they didnt differ from mine alot.

=============

#!/usr/bin/perl -w

use Carp;
use Socket;

$file = "www.cs.mu.oz.au/~mwql/index.php";
$add = $1, $file_l = $2 if ($file =~ m#([^/]+)([/].*)#);
$port = 80;

$proto = getprotobyname ('tcp');
print "$add $file_l $port $proto\n";

# Create stream socket
# Get IP address of peer

socket (SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket not made";

$iadd = inet_aton ($add);

# Get local socket address
# Bind it to our socket

$temp = sockaddr_in (0, INADDR_ANY);
bind (SOCKET, $temp) or die "bind unsuccessful";

# Pack IP address of the peer with the port
# Connect to the peer

$ads = sockaddr_in ($port, $iadd);
connect (SOCKET, $ads) or die "connect unsuccessful";

# Send a sample request
# Receive a initial response

print SOCKET <<"yahoo";
HEAD $file_l HTTP/1.0\r\n
\r\n
yahoo

$cur = <SOCKET>;
print $cur;

=============
 
J

John Bokma

mwql said:
The script waits, during execution, and after a while, it prints:
"Use of uninitialized value in print ..."

Always give a complete message, and indicate the line nr below.
I am pretty sure I screwed up setting up the peer connection. I
tried the GET command on telnet and it works fine. When I checked
through several resources, it seems that I am setting up the connection
according to the rules.

I ran another similar-url-get script, had a quick browse through
the socket connection set up, they didnt differ from mine alot.

Why don't you use LWP?

(And why no use strict; use warnings; ?)
 
G

Gunnar Hjalmarsson

(And why no use strict; use warnings; ?)

Warnings were enabled (via the -w switch), or else the uninitialized
warning wouldn't have shown up. (But strictures would have been nice...)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,535
Members
45,007
Latest member
obedient dusk

Latest Threads

Top