in reply to SoapTransport multiple instances

It looks like a problem with the module, because Windows detects and rejects attempts to bind to the same port twice.

To try it for yourself, run a copy of the below in one console and then try to run it again in a second session with the same port number:

#! perl -slw use strict; use IO::Socket; my $lsn = IO::Socket::INET->new( Listen => 1, LocalPort => $ARGV[0] ) or die $^E; while( my $client = $lsn->accept ) { close $client; }

The second attempt will die with:

C:\test>lsn 1025 Only one usage of each socket address (protocol/network address/port) +is normally permitted at C:\test\lsn.pl line 5.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^2: SoapTransport multiple instances
by rbala (Acolyte) on Feb 19, 2013 at 07:05 UTC
    I am getting the error as "IO::Socket: Unknown error propagated in line4"; I ran the script as "perl socket.pl 25000". Does this notify the same ?
      I am getting the error as "IO::Socket: Unknown error propagated in line4";

      That error message did not come from the script I posted. (Line 4 is a blank line!)

      I ran the script as "perl socket.pl 25000". Does this notify the same ?;

      The port number will make no difference:

      C:\test>start /b lsn.pl 25000 C:\test>Running with pid:12100 C:\test>lsn.pl 25000 Running with pid:11664 Only one usage of each socket address (protocol/network address/port) +is normally permitted at C:\test\lsn.pl line 7. C:\test>taskkill /f /pid 12100 SUCCESS: The process with PID 12100 has been terminated.

      Code with line added to print pid:

      #! perl -slw use strict; use IO::Socket; print "Running with pid:$$"; my $lsn = IO::Socket::INET->new( Listen => 1, LocalPort => $ARGV[0] ) or die $^E; while( my $client = $lsn->accept ) { close $client; }

      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.