Yet another socket-and-crossdomain-policy question

I have a Unity client wanting to talk to a very simple server I wrote in C++ on another machine. The other machine is not running a web server, just this data server of mine. Unity won’t let me connect, with the infamous “System Unable to Connect, as no valid crossdomain policy was found”.

How do I get around this?

My server runs on an off-the-beaten-path port. Do I have to run a web server on port 80 that has the crossdomain file? Or do I have to modify my server to serve up a crossdomain.xml? If so, how is that done?

The Socket policy works a bit different. Unity will try to load the policy file from port 843 by default, but you can load it from any port you like with Security.PrefetchSocketPolicy.

As far as i know there’s a small policy-server application you could run on your server which will answer policy requests. I can’t find the download link, maybe it was included in the masterserver package ?!?

For more information read the Security Sandbox page.