先日からFlashのActionScriptを使ってUDP通信をしようとしていたが、用意されている仕組み(RTMFP)ではSymmetric NATを越えられない(そして我が家はSymmetric NATの下にいるw)ために一旦保留。
他にUDPを使って通信する方法を色々と考えてみたのでまとめ。

言語UDP
通信
プラットフォーム備考
ブラウザ
組み込み
WindowsMaciPhone/iPad
Flash / ActionScript×Symmetric NATを越えられない
Java Applet×時代遅れ感も...
Adobe Air××UDP通信は最近サポートされたらしい
ネイティブアプリ
(C#でつくるとか)
×OSごとに作る必要あり確実だけど面倒な方法ではある...

こんなところか。

RTMFPがSymmetric NATを越えられれば完璧なんだが。片側がSymmetric NAT下でもう片方が違う環境にいたらどうなるのだろうか。一方的な送信なら出来るのか、など、ちょっと試してみる必要があるかも。
Flashの派生版的な位置づけであるAdobe AirではUDP通信が(Air 2.0から)可能になったらしい

時代遅れ感が満載だがJava Appletなら色々な要求を満たすことができる。Googleで情報を検索しても2002-2004年くらいの情報しか出てこないが。。。笑。

ちなみにネットで調べていたらSteve JobsはJavaが嫌いらしく、iPhone上でJavaがサポートされる可能性はまずないとのこと。Flashについて将来的なサポートの可能性が0ではないかも。。。そのあたりも加味すると選択が難しくなる。

Java Appletの復習(授業でやったのが5年前、プライベートではiアプリがではじめた2002年以来か)と、RTMFPのNAT対応について個別に調べるあたりから、手をつけようと想う。

この記事についてTwitterでつぶやく