Вы можете сделать это из Flash, используя LocalConnection.
Когда загружается фильм, попробуйте отправить тестовое сообщение на какой-нибудь идентификатор LocalConnection. Если это не удается, то соединение не открывается, и в этом случае вы открываете его для прослушивания команд и подключаетесь к серверу через сокет.
Если это удастся, значит, уже запущен SWF, подключенный к серверу. Вы можете отправлять любые запросы сервера, которые SWF получает через LocalConnection, на тот, который подключен к серверу.
Если вам нужно получить ответы обратно, вам может потребоваться, чтобы другие SWF-файлы открывали свои локальные соединения (произвольный идентификатор) и регистрировали их в SWF-файле, подключенном к серверу.
Когда подключенный SWF-файл отключается (окно закрывается), все отправления на это LocalConnection должны завершаться сбоем. В этом случае ваши другие SWF-файлы начнут получать ошибки. Один из них должен будет открыть это соединение и стать «основным» SWF (первым, чтобы успешно открыть соединение).
Жизненный цикл был бы немного странным, и, вероятно, есть много угловых случаев, которые вам нужно будет обработать, чтобы убедиться, что он остается устойчивым, но это вариант. Однако я заметил, что LocalConnection может стать ненадежным при увеличении числа соединений, поэтому вам, вероятно, будет лучше найти другое решение.