[freetds] connect(2) for UDP
Jackson, Craig (Gale)
Craig.Jackson at cengage.com
Wed Dec 17 13:28:17 EST 2008
> > This would let us know immediately if port 1434 is reachable, and could
> > reduce our retry loop to, say, three tries.
> >
>
> Mmmm... from comments
>
> /*
> * on cluster environment is possible that reply packet came from
> * different IP so do not filter by ip with connect
> */
>
> the problem is not that easy... if server has two interfaces
> configured server reply from a single interface so it can happen that
> client ask to an interface with a given IP but server reply from
> another IP, in such situation with connect used recv don't receive
> server reply :( I think we can solve this problem using two sockets,
> one connected and another not connected.
Good point -- we had a server with three IPs on one network, so it could have
3 web server instances each listening on port 80. The source address of the
SNMP UDP packets would end up being round-robined.
This would have to be tested in an actual setup. I realize that it will be
common for a SQL Server to be clustered. Does the multiple-IP case happen
on all such servers?
It's a useful thing when it works. If it generally doesn't work, then that's
a problem. But if it only fails some of the time, it would be nice to get
the benefit the rest of the time. I guess the code could try the connected
socket, and if that fails it could create an unconnected socket.
Craig
More information about the FreeTDS
mailing list