A DESCRIPTION OF THE REQUEST :
In an embedded control system that runs as an Applet and exchanges UDP packets with Ethernet I/O modules, the first UDP transmit attempted by a LiveConnect (JavaScript to Java) thread triggers a TCP call to the module's UDP port to fetch a crossdomain.xml file, which hangs as the I/O modules do not respond to TCP on their UDP ports.
JUSTIFICATION :
In such a closed and unconventional system, it should be possible to disable all security devices appropriate to open and conventional systems. However the requirement to obtain socket connection permission from a crossdomain.xml request cannot be bypassed.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A plugin or JVM security setting to enable certain or all cross domain transfers.
ACTUAL -
A thread initiated by a LiveConnect call that attempts to send a UDP packet will hang until a crossdomain.xml file is retrieved via TCP, which will be indefinitely if no webserver is present.
CUSTOMER SUBMITTED WORKAROUND :
1. Decouple the packet send from the LiveConnect call: http://blog.carrythezero.com/?p=5
OR
2. Use NAT to redirect I/O module TCP traffic to a webserver that can serve a crossdomain.xml file.
In an embedded control system that runs as an Applet and exchanges UDP packets with Ethernet I/O modules, the first UDP transmit attempted by a LiveConnect (JavaScript to Java) thread triggers a TCP call to the module's UDP port to fetch a crossdomain.xml file, which hangs as the I/O modules do not respond to TCP on their UDP ports.
JUSTIFICATION :
In such a closed and unconventional system, it should be possible to disable all security devices appropriate to open and conventional systems. However the requirement to obtain socket connection permission from a crossdomain.xml request cannot be bypassed.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A plugin or JVM security setting to enable certain or all cross domain transfers.
ACTUAL -
A thread initiated by a LiveConnect call that attempts to send a UDP packet will hang until a crossdomain.xml file is retrieved via TCP, which will be indefinitely if no webserver is present.
CUSTOMER SUBMITTED WORKAROUND :
1. Decouple the packet send from the LiveConnect call: http://blog.carrythezero.com/?p=5
OR
2. Use NAT to redirect I/O module TCP traffic to a webserver that can serve a crossdomain.xml file.