Hello all,

I am witnessing some very weird behavior:  two processes listening on the
same TCP port on the same machine.
using Windows XP Professional

I thought this might be possible because my portable is multi-homed (wired +
wireless network) ?
But I disabled the wireless network and it still works.

1st process = org.apache.mina.example.chat.Main
2nd process = org.apache.mina.example.chat.SpringMain

Running two instances of org.apache.mina.example.chat.Main gives the
expected "Address already in use"
but it seems I can start as many instances of SpringMain as I want (I tried
upto 6)

Ok, this behavior is clearly a consequence of setting reuseAddress=true on
the SocketAcceptor
but I have never witnessed this behavior on linux.

Does anybody know whether this is a documented feature on Windows ?

C:\netstat -na | grep 1234
TCP  0.0.0.0:1234     0.0.0.0:0         LISTENING
TCP  0.0.0.0:1234     0.0.0.0:0         LISTENING
TCP  127.0.0.1:1234   127.0.0.1:1379    ESTABLISHED
TCP  127.0.0.1:1379   127.0.0.1:1234    ESTABLISHED
(unfortunately netstat on windows doesn't have the -p option to show process
id of listening process)

Changing localAddress from  ":1234"  to "127.0.0.1:1234" or "
192.168.0.5:1234" doesn't make a difference.

Clients seem to connect to the process that was started last.
And when that server stops, new connections are accepted by an 'older'
server.

Maarten

Reply via email to