Hi Frank,

In the default constructor, 

  public DefaultUdpTransportMapping() throws IOException {
    super(new UdpAddress(InetAddress.getLocalHost(), 0));
    socket = new DatagramSocket(udpAddress.getPort());
  }

the UdpAddress is initialized with localhost as you mentioned. But only the 
port is passed to DatagramSocket and thus the ip address it binds to is a wild 
card ipaddress. 

But in renewSocetAfterException(), Socket is initialized using both ip and port 
which causes the mismatch.

DatagramSocket s = new DatagramSocket(udpAddress.getPort(), 
udpAddress.getInetAddress());


Thanks,
Prema

-----Original Message-----
From: SNMP4J [mailto:[email protected]] On Behalf Of Frank Fock
Sent: Tuesday, July 22, 2014 4:57 PM
To: [email protected]
Subject: Re: [SNMP4J] renewSocketAfterException() binds to a specific address

Hi Prema,

The renewSocketAdterException(..) method of the DefaultUdpTransportMapping uses 
*exactly* the same UDP address as provided in the constructor. If you provided 
"0.0.0.0", it will be used again.
You wrote that you are using the default constructor. That one is *not* using 
"0.0.0.0", instead it uses the localhost IP address. It depends on your 
operating system and Java virtual machine which IP that is on a multi-home 
system.

Best regards,
Frank


Am 22.07.2014 20:18, schrieb Prema Upot:
> Hi,
>
> We initialize DefaultUdpTransportMapping using the default constructor and 
> this makes sure the listening port binds to "0.0.0.0" address enabling 
> sending and receiving UDP packets on any interface. But in 
> renewSocketAfterException() the new socket is created using port and 
> ipaddress as parameters and this causes a problems in a PC that is part of 
> multiple networks.
> For example, we have a PC in 192.168.144.0 and 192.168.30.0 networks. After 
> socket exception, the new socket that is created binds to 
> "192.168.144.<ip>:<port>" instead of "0.0.0.0:<port>" and because of this we 
> cannot communicate with 30.0 network any more.
>
> Thanks,
> Prema
>
>
> _______________________________________________
> SNMP4J mailing list
> [email protected]
> https://oosnmp.net/mailman/listinfo/snmp4j

--
---
AGENT++
Maximilian-Kolbe-Str. 10
73257 Koengen, Germany
https://agentpp.com
Phone: +49 7024 8688230
Fax:   +49 7024 8688231

_______________________________________________
SNMP4J mailing list
[email protected]
https://oosnmp.net/mailman/listinfo/snmp4j
_______________________________________________
SNMP4J mailing list
[email protected]
https://oosnmp.net/mailman/listinfo/snmp4j

Reply via email to