"Joseph M. Newcomer" <email@example.com> wrote in message
I'd be tempted at this point to single-step into the CAsyncSocket code to
be sure that it
really passed the correct WinSock value in. Unfortunately, I suspect that
it does, which
means you may be a victim of some kind of WinSock bug. Your understanding
understanding, also. Note that multicasting requires that you enable the
and the problem may not be in the binding as much as it might be setting
the multicast in
must one of the NICs, thus the other one blocks any multicast receipts.
As a last-ditch experiment, if the NICs are on separate cards (as opposed
sockets on the motherboard) you could try switching the boards in the
backplane and see if
it binds to the "other one". This may then isolate it to a driver or some
part of the
stack, and you can pursue it in one of the network groups, or report it as
On Mon, 2 Nov 2009 09:32:43 -0600, "AliR" <AliR@online.nospam> wrote:
I have a client that has a computer with two NICs in it. Each NIC is
connected to a different network. It appears that when my windows service
application starts and creates a receiving multicast socket it binds to
of the NICs, and it happens to be the wrong one. (We verified this by
disabling the unrelated networks NIC and everything works fine at that
My understanding of Bind was that if you passed NULL for the IP address
it will bind itself to all the network interfaces!
The network address, a dotted number such as "22.214.171.124". Passing the
string for this parameter indicates the CAsyncSocket instance should
for client activity on all network interfaces.
Is that not true? Did I misunderstand something?
I'm guessing that I will have to ask the user of computers with multiple
for a specific IP to bind to. Is this the correct approach?
Joseph M. Newcomer [MVP]
MVP Tips: http://www.flounder.com/mvp_tips.htm