I try to broadcast UDP packet on a mult interfaces computer with windows XP.
one IP is and another is
when the both are connected to network, the broadcast is only through the IP, even i bind the local address to IP
when I disconnect the interface of, the broadcast is through the IP I used the wireshark to check the both interface message. Does anyone have idea? thanks ahead.

code is:
BYTE pBuf[] ="This is broadcast test code!"
SOCKET Broadcastsocket;
sockaddr_in Local_socketAddr,Remote_socketAddr;
Broadcastsocket = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP );
setsockopt(Broadcastsocket, SOL_SOCKET, SO_BROADCAST, (char*)&bOptVal, bOptLen);
Local_socketAddr.sin_family = AF_INET;

Local_socketAddr.sin_addr.s_addr = inet_addr("");

//or Local_socketAddr.sin_addr.s_addr = INADDR_ANY;

Local_socketAddr.sin_port = htons(45234);
bind( Broadcastsocket, Local_socketAddr, sizeof(Local_socketAddr));

Remote_socketAddr.sin_family = AF_INET;
Remote_socketAddr.sin_addr.s_addr = INADDR_BROADCAST;
Remote_socketAddr.sin_port = htons(45235);
sendto( Broadcastsocket, (const char*)pBuf, strlen(pBuf), 0, (SOCKADDR*) &Remote_socketAddr, sizeof(Remote_socketAddr) );