Ok, I have found the issue.

It seems that this event is thrown if the Send connection name does
not match the name of an application that is currently accepting
messages. In other words, the connection name used in Connect command
on the receiver does not match, or the receiving application is not
running.

What was confusing to me was the way to get at the correct connection
name for the Send command.

On the receiver's Connect command, I used this: "_InterCommAppTestB".

It gets combined with "app#" then the domain name, in my case
com.applebysw.test then the application name, "InterCommAppTestB",
followed by "." then the publisher id, then ":" and then the
connection name used in the Connect command, "_InterCommAppTestA".

The receiver's local connect .domain property gives you most of that,
you just need to append the ":" and then the connection name.

In my case, the domain is:

app#com.applebysw.test.InterAppCommB.<publisher id hex digits>

The connection name on the Send must then be:

app#com.applebysw.test.InterAppCommB.<publisher id hex
digits>._InterAppCommTestB


Note that this will not work in the Flex debugger, since the publisher
id is an empty string until the AIR app is signed and published.
Perhaps it would work if you ran both the sending and receiving apps
in the debugger at the same time, I don't have any more time for
experiments with this.

I was not able to make the connection work unless I used the "_"
prefix on the connection name.

On the receiver, I also had to use either

.allowDomain("*") 

or

.allowDomain("
app#com.applebysw.test.InterAppCommA.<publisher id hex digits>")

Note that the above is the domain name of the sending app.

This was confusing to me, but it worked.

I hope that this saves someone else some time, it was a long day
yesterday...

Pete

Reply via email to