Why does DatagramSocket stop working on non-Domain network?
I created an Adobe AIR application that displays information in the application window which is continually updated by a UDP data stream. The source of the UDP data stream comes from a C++ application running on a seperate machine on the network. This all works great when running on a domain network type which is my usual development environment but when I move the applications to the target environment it stopped working. The target environment is a few computers networked together with a network hub. Windows active networks list shows it as unidentified network, Public network.
I'm fairly certain this is not a security configuration issue. I've verified that the UDP packets are being received on the machine running the AIR application. The DatagramSocket just doesn't seem to be aware of the packets or is ignoring them.
1. I can read the packets with a C++ program.
2. I ran Wireshark and it shows the UDP packets being received.
So I conclude from this that the UDP packets are not being blocked by the firewall or any other network security feature.
One other piece of information which seems very bizarre to me. If I step through the DatagramSocket setup code (see belolw) and then let the program run, I get anywhere from 5 - 10 packets and then nothing. This is more evidence that the packets are not being blocked except by something very specific to Adobe AIR.
private function onCreationComplete():void {
datagramSocket = new DatagramSocket();
datagramSocket.bind(30250);
datagramSocket.connect("198.168.1.2", 30202);
datagramSocket.addEventListener(DatagramSocketDataEvent.DATA, onDataEvent);
datagramSocket.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
datagramSocket.addEventListener(Event.CLOSE, onCloseSocket);
datagramSocket.receive();
}
The relevent version information is:
Windows 7
Adobe AIR 2.7.1.19610
Adobe Flash Builder 4 Plug-in 4.0.1.277662
Thanks,
Larry
