Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Basic Socket Help

by Green Spiral (Initiate)
on Jul 08, 2003 at 01:28 UTC ( #272169=perlquestion: print w/replies, xml ) Need Help??

Green Spiral has asked for the wisdom of the Perl Monks concerning the following question:

At the moment I am trying to set up a simple socket program on the server side (I am doing this on a remote server, which makes things a little more difficult). I have been going through the few tutorials that I can find, experimenting with the sockets, and have had limited success in sending and receiving data. The big problem I have had is that once I get the program running, it won't completely stop it seems. A close($sock) seems to close the sockets functions completely, but when I try to run it again on the same port, I get a "IO::Socket::INET: Address already in use..." error. It is becoming very frustrating now... Here's the heart of my code for reference:
my $sock = new IO::Socket::INET ( LocalAddr => 'localhost', LocalPort => 1209, Proto => 'tcp', Listen => 1, Reuse => 1, ); die "$!" unless $sock; my $new_sock = $sock->accept(); close ($sock);
It is being ran on a Unix machine if that makes any difference.

Replies are listed 'Best First'.
Re: Basic Socket Help
by LazerRed (Pilgrim) on Jul 08, 2003 at 01:43 UTC
Re: Basic Socket Help
by Dog and Pony (Priest) on Jul 08, 2003 at 05:18 UTC
    Closing $new_sock as well might make a difference. Also, I've been getting into the habit of doing undef on any socket variables, though I admit to not knowing why I do that - I just see a lot of code doing that after they close the socket. If anybody would like to set me straight on if that does anything useful, and if so why, I'd be glad. :)
    You have moved into a dark place.
    It is pitch black. You are likely to be eaten by a grue.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://272169]
Approved by Courage
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (8)
As of 2020-03-30 14:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    To "Disagree to disagree" means to:









    Results (175 votes). Check out past polls.

    Notices?