J
Jim H
I have a UDP socket that sends out a request on a multicast socket and waits
for a response. This client is not listening on a multicast IP but the
local IP. The server (UNIX) responds to the sender's IP. Using debug files
on the server I see the server receive the request from my application on my
machine and I see the server send to the correct IP and port of my machine,
but the ReceiveFrom never returns with any data. If I have a multicast
server running on a windows machine it works fine, just getting data from
the multicast server running on the UNIX machine is giving me problems. I
ran netmon and watched the packet flow. According to netmon the server's
response arrives at my machine with the data in it. Why doesn't the socket
read. This is a blocking ReceiveFrom call. The only difference I can see
is that the Windows multicast server binds using the internal IP and port
while the UNIX server binds using the multicast IP and port. When I run
client apps on the UNIX machines they all receive their data fine from both
windows and UNIX. The difference in the debug is the datagram packet has
the multicast IP as the source IP when coming from a UNIX server and the
server's local IP when coming from the windows server. The destinations
from both servers are the local IPs of the client, be it UNIX client, or
windows client.
What's wrong. I tried binding to the multicast IP on the windows server but
it won't allow it.
Any help would be GREATLY appreciated. I've been pulling my hair out for
over a week on this one.
Thanks in advance,
jim
for a response. This client is not listening on a multicast IP but the
local IP. The server (UNIX) responds to the sender's IP. Using debug files
on the server I see the server receive the request from my application on my
machine and I see the server send to the correct IP and port of my machine,
but the ReceiveFrom never returns with any data. If I have a multicast
server running on a windows machine it works fine, just getting data from
the multicast server running on the UNIX machine is giving me problems. I
ran netmon and watched the packet flow. According to netmon the server's
response arrives at my machine with the data in it. Why doesn't the socket
read. This is a blocking ReceiveFrom call. The only difference I can see
is that the Windows multicast server binds using the internal IP and port
while the UNIX server binds using the multicast IP and port. When I run
client apps on the UNIX machines they all receive their data fine from both
windows and UNIX. The difference in the debug is the datagram packet has
the multicast IP as the source IP when coming from a UNIX server and the
server's local IP when coming from the windows server. The destinations
from both servers are the local IPs of the client, be it UNIX client, or
windows client.
What's wrong. I tried binding to the multicast IP on the windows server but
it won't allow it.
Any help would be GREATLY appreciated. I've been pulling my hair out for
over a week on this one.
Thanks in advance,
jim