ええと、24時間以内に3つの質問がありますが、役立つドキュメント(とにかく見つけることができます)がないため、選択の余地はないと思います。
今、私はadobesが行っているセキュリティ関連事項、ポリシーファイルの取引、および調整する必要のあるサンドボックスの制限についてすべて知っています。iveは提案されたオプションの変更を行い、AS3プロジェクトでネットワークアクセスを許可しました。接続するとすぐにポリシーファイルを吐き出す準備ができました。しかし、問題はフラッシュ/ AS3です。あなたがそれを呼びたいものは何でも、単に私のサーバーを認識しません(またはその逆)。
AS3は、接続の確立/ポリシーファイルの検索に苦労している場合にドキュメントに記載されているように、数秒間遅延しますが、接続期間を確立せず、しばらく試行してから、あきらめてアクセスエラーを吐き出します(ネットワーク上で許可されていないと想定しているポリシーファイルが見つからなかったため、試してみて怒ってしまいました... lil頑固なバガー)
Flashは探しているものを取得せず、サーバーは接続を検出しません(失敗または成功、何もありません)C ++で作成したテストクライアントでサーバーをテストしたので、サーバーは良好であり、親友のように話します。
ですから、私は今ではほとんどアイデアを失っており、AS3でwinsockクラスを再作成することを考えましたが、winsockのconnect()関数が実際にどのように機能するかさえわかりません。私は宣言を受け取りました、私が見つけることができるそれの定義はありません。
私のソースコードから本当に何が必要かはわかりませんが、クライアントだけでもすでに1000行を超えているので、すべてを投稿することは実際にはオプションではありません。少なくとも私が関連すると思うことをここに示してください。
function hwndEnterFrame(e:Event):void
{
//trace("Frame Entered");
if (firstframe)
{
trace("try to reconcile policy file...");
//Security.loadPolicyFile("192.168.1.2:843");
TSocket = new Socket("192.168.1.2",843);//must call flush() to send data***
firstframe = false;
}
Security.loadpolicyfileは、気づいた限り何も実行していないようです。同じメッセージが表示されても、含まれていなくても、コードはソケット宣言で指定された場所でポリシーファイルを探しているようです。すべてが正常にコンパイルされ、私が望んでいることを実行していません:P他のすべての人がPerlまたはPythonでサーバーを作成しているようですが、TCPはそれをサポートする任意のプラットフォーム間でのユニバーサル接続(面白いビジネスなしで言語をまたぐことができます)
ええと、私が今得たものは、コードの他の部分(クライアント側またはサーバー側、あなたが望むものは何でも)が必要な場合は、ここにすばやく貼り付けます。
編集:
ダウンロードしたswfをオンラインで見つけました。付属のサンプルサーバーに正常に接続しましたが(ただし、そのサーバーはc sparpで記述されているため、あまり使用されません)、サーバーに接続できません。したがって、既知の良好なフラッシュクライアントは私のC ++サーバーに接続しませんが、C++クライアントは私のC++サーバーに接続します。したがって、サーバー側では明らかに何かがあります。フラッシュアプリ(私のものまたはexpamleアプリ)からの接続はまったく聞こえないためです。
乾杯; -タイラー