【XMLSocket】XMLソケットなどの話題はここで 2
■ このスレッドは過去ログ倉庫に格納されています
Flashでリアルタイムマルチユーザーコミュニケーションを可能にする
XMLSocketの話題を扱うスレです。
Flash側、サーバー側のプログラミングから自鯖構築の話題まで、
そして初心者から上級者まで幅広い話題にご利用ください。
前スレ
http://pc11.2ch.net/test/read.cgi/swf/1050820352/ LLでXMLSocketサーバ実装ってどっかでやってますかね?
ウノウではRubyでやってるそうだけど、オープンソースで配布されてるとXMLSocket利用する人増えると思うんだが。
osflash.orgでは見当たらないけどな。 LLってLightweight Languageのこと?
Javaでの実装は結構あるんだけどな。 ■質問
■環境:winXP, j2SDK1.4.2_12
■質問内容 環境変数の件
■詳細
FacesServerを動かそうと思ったのですが、
コマンドプロンプトでjavaは認識されていませんというエラーが出て起動できません。
環境変数がダメらしいのですが、自分には良く分かりませんでした。
どうすればいいですか?環境変数は以下の通りです。
CLASSPATH
.;C:\Program Files\Java\jre1.5.0_09\lib\ext\QTJava.zip;c:\windows\java\classes;.
PATH
C:\j2sdk1.4.0\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;C:\c\LSIC330c\BIN pathもclasspathも使ってるSDKのバージョンのディレクトリじゃないようだが、どういう理由かしら?
javaがインストールされてるフォルダをもっかい確認してやって見れ。 >>26
ぁぁ・・・本当だw
すみません、できました^^
質問に解答してくださってありがとうございます! >24
たしかにJavaでの実装は結構みかける。速度的にJavaじゃないときついってこともあるかもしれない。
ただPerlでもPHPでもRubyでもSocketは扱えるようなので誰か実装してないんかなと思って。 http://faces.bascule.co.jp/link.php
ちゃんと見てないけどここ見るとperlやPythonで作っている人はいるみたいだね。
PHPで作ったという話は聞いたことない。 >>23
一応、GPSSがJavaScriptで組めるよー。
凝ったことはJavaと連携かJavaだけで作らないと厳しいと思うけど。
>>28-29
ソケットを安定して使えるのはJava、次点がPerlだと思う。
PHPの場合はマルチスレッドが出来ないんでマルチプロセスかシングルプロセスしか手が無いのよー。
マルチの場合はLinuxでfork、シングルの場合はsocket_selectという手。
一般的にサーバーとしてソケット実装をする場合、マルチスレッドじゃないと厳しい面が多い。
マルチプロセスやシングルプロセスでやる手もあるんだけど、持続的接続に関しての安定性に
難があるのが多いと思う、それにデータを共有する手段の問題もあるし。 FACEsサーバのサンプル1と2のサンプルファイルがほしいです。
どなたか持っていませんか? FACEsサーバで
str2="<A attr=\"geho\" save=\"hoge\" key=\"x1\"/>"
sendStr(str2);
sendStr("<QR n=\"hoge\"/>");
と入力すると
Exception in thread "Thread-0" java.lang.NoClassDefFoundError: org/apache/crimso
n/tree/XmlDocument
at jp.faces.RoomInfo.outputByNodeName(RoomInfo.java:138)
at jp.faces.FacesXML.processQR(FacesXML.java:213)
at jp.faces.FacesXML.DocumentAnalysis(FacesXML.java:563)
at jp.faces.FacesXML.readXML(FacesXML.java:52)
at jp.faces.FacesClient.run(FacesClient.java:102)
というエラーがでるのですが、どうすれば解消できるかわかる方いらっしゃいますか? >>33
ちょっと手元で確認できないけど、たぶんインストールの問題。
XMLのライブラリ(JAXP?)が入ってないとか、パスが通ってないとか。 FACEsのBBSの過去ログにもおなじ質問があり、その方は
crimson.jarにclasspathが通っていないようですね。
Java2 SDKをインストールしたフォルダの
jre\lib\ext以下に、xalan.jarとcrimson.jarが
揃っているかどうか確認していただけないでしょうか。
という回答を受けていました。
が、わたしのjre\lib\ext以下にはxalan.jarとcrimson.jarどっちもあります。
パスが通ってないのでしょうか?知識が少ないためなにをしたらよいのかわかりません。
なんとかできました。
気にかけてくださった>>34ありがとうございました。 なんかすげえのキタコレ
ttp://gpss.jpn.ph/dp/node/44
すぐにSocket通信を使ったアプリケーションが作れるとか言っちゃってるけど本当か?
誰か人身御供にならね? AS2.0のXMLSocket使っていて、テキストベースの通信が嫌だなぁとか
接続中かどうかを調べるメソッドがないなぁとか思ってたら
AS3.0のほうで解決できることを知った今日この頃。
FLASH2004MXのproじゃないほうなので、CS3が欲しいが8万か。 最新のプレーヤでソケットポリシーファイル必須になったね
これってポート 843 への問い合わせって必ず勝手にするもんなの?
メイン接続のポートからポリシー返すようにしたから止めて欲しいんだけど
タイムアウト 3 秒待たされるのがいや >>41
System.security.loadPolicyFile("xmlsocket://example.com:9090");
って感じでポリシーファイルを指定すれば843へ接続しないはず。
逆に言えばこれを書かなければ843へ自動的に接続したと思う。 >>42
レスありがと
ソケット接続の前に その記述はしているんだけど、だめなんだ
HTTP のドキュメントルートに置く crossdomain.xml は関係ないよねぇ
うーん、なんでだ loadPolicyFile() を使いHTTPで crossdomain.xml を取得する事は出来るけど
xmlsocket で任意のポートからの取得ができない
というか そもそも接続できてない感じ プレーヤのログには何も出ない。
URL、ポートの指定ミスなんて事はないし、これってなんなのよ
AS2.0 で書いてみたり プレーヤのバージョン下げてみたり
あれこれやってもだめ。 なにを見落としているんだ ちkしょうめ >>44
激しく遅いレスですけど、
mm.cfgのPolicyFileLogは試してみました? >>45
レスさんきゅう
その設定をしてログを取ってたよ
loadPolicyFile() で任意のポート指定してもしなくても
843 へポリシー問い合わせしてた
とりあえず今は諦めてタイムアウト待ちしてる >>46
r124のデバッグプレイヤーでログとって見ました。
とりあえずうちの場合843以外のポート(9001)でのポリシー送信で成功してるんですけど、
843 に「も」要求しにいってるみたいでした。ナンデダ?? >>47
まず 843 へ確認へ行って、それから接続ポートへ問い合わせ、だよね
843 がタイムアウトしてから 接続ポート(9001とか)へ取りに行く、と。
これはデフォルトの動作って感じぽい
で、ぼくも接続ポートでのポリシー取得は成功しているけど
用もない 843 へ行ってタイムアウト食らうのがいやだな、と。
Adobe の解説読んでも loadPolicyFile() 使えば
デフォルトのタイムアウト 3 秒をしなくなる、ポリシー取得の確実性が増す、
的な事しか書いてなかった記憶。
あの回りくどい書き方の要領を得ない解説をもう一度入念に読み直すよりも
他の作業を優先してしまっている状態なんだけど・・・どうにかしたいよホント
843 にポリシーサーバ立てられれば一番なんだろうけどね
任意の接続ポートでのポリシー取得&843への問い合わせなし、を実現してる
人がいたらご示唆プリーズ いろいろ実験してみました。
48さんのおっしゃるとおり、
何もしなくても、というか何をしても843へは必ず問い合わせにいくみたいですね。
ttp://store1.adobe.com/jp/devnet/flashplayer/articles/fplayer9_security_04.html
にもはっきりと「3秒のタイムアウト動作が実行されないようにすることができます。」って書いてあるのに。
…と思ったけど、
843の場合は3秒でタイムアウトしちゃうけど、
loadPolicyFile使えばタイムアウトまで2分間かせげるよ
ってことのような気がしてきた。
Adobeとしては、843はもう必須ってことにしたいのかも。
他のドキュメント読んでも、「どうにかして843開けろや」ってことしか書いてないし。 >>49
つきあって頂き ありがとう
やっぱそういう事になるのか、納得した。
けど 3 秒またされるのだけは何とかしたいので
今、ルータの 843 を接続拒否設定する事を考えてる
843 見限ってすぐに接続ポート見に行ってくれるよね、みたいな
ネットワーク分かってない人間なので ズレてるかもしれんけど
自分だけの環境じゃないので今すぐ設定変えられないのが残念だ >>50
iptablesで843拒否するようにしてみたけどだめでした…
これはもう、(Adobeに直談判しなければ)だめかもわからんね。
うまくいったら、そのときはまたぜひ教えてください。 FACEs使ってるんだけどいったいどうすればいいのかさっぱりわからん。
swfのほうのみ変えればうまくいくの?
それともFACEsいじらないとだめ? >>52
FACEs いじってポリシー返却するようにするか、
ポート843 にポリシーサーバ立てるか
可能なら 843 使うのをお勧めする
サンプルソースも公開されてるしね 3秒待ちをなくすにはGPSSを843で運用するのがいいかな。 >>55
そこは 1024 以上のポート使うのが慣例じゃないかね >>56
GPSSはポリシー返せるから、どうせ843空けるならそれだけで行ってもいいかなと思ってさ。
まあ、1024未満はルートじゃないと取れないから、そういう制限を活かすなら1024以上で
やったほうがいいね。
そもそもなんで843なんだよっていう。どうせなら893にでもすればいいのにw http://blog.warcry.biz/2008/04/flash.html
にあるようにしてるんだけどうまくいきません。
サーバはwindowsです。
flashpolicyd_v0.6フォルダごとc$に突っ込んで
xmlは<allow-access-from domain="*" to-ports="*" />に変更して
perl ./flashpolicyd.pl --file=../flashpolicy.xml
で起動して、
swfからいつもどおり接続したんですが、
まったく動かずです。 >>58
telnetなんかでちゃんと843が開いてるかどうか確認した? おー。
ファイアウォールは開いてたんですが、ルータのとこを開いてませんでした。
うまく接続できました。ありがとうございます。 gpssでも>>58のやり方でも動作確認できたので一応報告。 質問なんですが、gpssでflash playerとソケット接続できるのはいいのですが
通信結果をDBに書き込んだり、webサーバからのリクエストでflashを動作させるために、
gpssとwebサーバを接続したいと考えています。
こういう場合は、どうやればいいでしょうか。 >>63
DB周りは普通にJDBC使ってgpssから直接コントロールできるよ。
webサーバとの連携はいろんなやり方があるけど、
webサーバ側もからもgpssにソケット接続するって方法はどうだろう。 >>64
>DB周りは普通にJDBC使ってgpssから直接コントロールできるよ。
JAVAのBeanを作ったりするんでしょうか?
sockletで組めればいいんですが・・・。
>webサーバ側もからもgpssにソケット接続するって方法はどうだろう。
webサーバとgpssは同じネットワーク内にありますが、
この接続方法は継続ソケットにこだわりはありません。
「WEBサーバからgpssにリクエストを発行し、(gpssがflashプレイヤーから取得した)値を受け取る」
方法であれば(リーズナブルな範囲で)なんでもいいです。 おーこのスレまだあったんだなぁ。
いま開発してる人はいないかな? Flashのポリシーファイル関係に緊急事態発生
もし人がいたら応答たのむ
Flashのポリシーファイル関係に緊急事態発生
もし人がいたら応答たのむ Adobeのサイトにある843サーバのサンプルスクリプトがWindows7では動かない
以上 XMLを初歩からSocketを使えるようになるまで勉強したいんだが情報が少なすぎてお手上げ状態
オススメのサイトor本を教えて下さい ■ このスレッドは過去ログ倉庫に格納されています