LocalConnectionの注意点
海!まっくろ!ななっくるです。
由比ガ浜に来る方はぜひbowls 海の家に足を運んでくださーい!
久しぶりにLocalConnection使いました。Flash同士の通信ができるので便利ですよね。で、その時の注意点?です。
LocalConnectionつなげる場合はそれぞれidをわたさないといけませんよね。で、その同じidのもが2つ開いていると
ArgumentError: Error #2082: このオブジェクトは既に接続されているため、接続できません。
とエラーがでちゃいます。
IEとFFで同じページをひらいていたり、タブで同じページを2つ以上ひらいていると起こります。
それを回避するには。
JSでTimeStampを取得してもらって、Flashvarsで値をもらって、送信、受信ともにidにつけて開きます。
そーすれば、同じものを2つ開いても、時間でidがかわるから大丈夫なんですね!
受信側はこんな感じ。
private var _conn:LocalConnection; .... _conn = new LocalConnection(); _conn.client = this; _conn.connect("myConnecgt" + timeStamp);
Flash内で時間取得してつければいいじゃん!と一瞬思いますが、微妙に開くタイミングがずれたら、同じ時間にならないから駄目なんですよねー。
あと LocalConnection は必ずメンバ変数にしとかないといけないという事。ローカル変数にしちゃうとつながりませぬ。ご注意を。