問題タブ [xmlsocket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2261 参照

flash - ActionScript 3.0 ソケットが再接続できない

接続タイムアウト後に (Socket および XMLSocket クラスを介して) TCP リスナーに接続できません。

サーバーへの TCP 接続を維持する必要があるフラッシュ アプレットがあります。タイマーやピンポン システムなどを使用してタイムアウトを実装しました。ただし、問題があります。Socket.connect() を呼び出すと、フラッシュ プレーヤー (9.0.115 およびそれ以前の他の多くの安定版) は、SYN パケットを介して 3 つの接続要求を送信します。これらのいずれにも応答がない場合 (サーバーがダウンしているなどの理由で)、アプレットをサーバーに接続 [試行] することはできません。これまで。つまり、アプレットの存続期間内です。

明確化および/または要約するには:

Socket.connect() または XMLSocket.connect() に指定されたホスト/ポートのペアについて、呼び出しが失敗した場合、Flash アプレットの存続期間内の他の Socket (または XMLSocket) インスタンスへの後続の connect() 呼び出しは同じホスト/ポートのペアは無視されます。(少なくとも、パケット スニファを使用してわかる限りでは。)

私は多数の Socket メソッドを呼び出し、破棄¹ してオブジェクトを再作成し、ソケットのプールを使用して、今は思い出せない他のさまざまなメソッドを試しました。すべて役に立たない。

私の現在の解決策は、JavaScript 呼び出しを介して親 Web ページに通知し、アプレットをリロードさせることです。Flash がソケット接続を適切に処理できないという理由だけで、それが引き起こす問題の回避策を実装するつもりはありません。

非常に単純なものが欠けているに違いありません。

何か案は?

1: オブジェクトを実際に破壊できないことはわかっています。それらへの参照をすべて削除し、最善を尽くします。この場合、GC を明示的に呼び出そうとはしていません。(ただし、Socket を Array 内に配置してdeleteを使用しようとしたと思います。)


はい、接続が成功した場合は期待どおりに動作します (後で接続が切断された場合でも)。

これをトリガーする唯一のイベントは、サーバーがまったく応答しない場合です。あたかも Flash がホストとポートの組み合わせを「オフライン」としてマークし、アプレットの存続期間中はそれ以上パケットを送信しないかのようです。

接続の積極的な拒否 (たとえば、ホストはオンラインであるが、ポートをリッスンしていない) が原因ではないのではないかと思います。

Socket からエラー メッセージやその他の種類のフィードバックは得られません。

最初のペアが失敗したときに、同じホスト/ポートのペアに対して connect() を複数回呼び出したことがありますか? 最初の connect() が失敗したことをどうやって知りましたか? 後続の connect() 呼び出しの前に、ソケットをリセットするために何かしましたか?

0 投票する
2 に答える
329 参照

flashlite - Flash LiteのXMLSocket?

XMLSocketはFlashLiteで利用できますか?利用できる場合、どのバージョンで利用できますか?また、通常のオブジェクトとliteオブジェクトの間に違いはありますか?

0 投票する
2 に答える
1177 参照

flash - XMLSocket は firefox では動作するが IE では動作しない

Flash アプリでお困りのお客様のお手伝いをしています。Flash アプリは XMLSocket を使用して、localhost で実行されているサービスに接続します。firefox で問題なく動作します。

次の行を使用して、セキュリティ ポリシーを設定します。

System.security.loadPolicyFile("xmlsocket://localhost:10032");

Firefox でフラッシュ アプリを実行すると、ポート 10032 でリッスンしているサービスが <policy-file-request/> との接続を取得し、それに応答し、正常に動作します。IE では、サービスが接続を取得せず、その後のソケット接続が機能しません。

編集: この問題は、非表示の div タグにフラッシュを埋め込むことが原因であることが判明しました。その場合、ポリシー ファイル要求の送信を拒否しました。div を非表示にしないと機能します。FF と IE の間で異なるバージョンのフラッシュについての答えは正しかったため、FF で動作していました (古いバージョンでした)。新しいバージョンでは、隠し DIV タグが気に入りませんでした。

0 投票する
1 に答える
7223 参照

flash - Flash クライアント XMLSocket がサーバーに接続しない

サーバーに接続したい Flash クライアントがあります。どちらも localhost とポート 50000 を使用しているため、クロスドメインの問題は発生しません。また、公開設定で Access Network Only を設定しました。XMLSocket 接続を呼び出すと、サーバーは新しい接続を取得するようです。ただし、XMLSocket.onConnect コールバックは、success=true では呼び出されません。

何が間違っている可能性がありますか?

ソケットを作成するための ActionScript は次のとおりです。

0 投票する
1 に答える
2783 参照

flash - xmlsocket://プロトコルとは何ですか?

このSOの回答は、「FlashPlayerがポート843でポリシーファイルを検索するようになりました」と述べています。XMLポリシーをFlashクライアントに送信するポート843でリッスンしているポリシーサーバーがあります。これで十分ですか?「xmlsocket://」プロトコルとは何ですか?loadPolicyFile()メソッドを使用するときにソケットについて話していることをFlash Playerに伝える方法にすぎませんか?

0 投票する
1 に答える
538 参照

flash - XMLSocket はフレーム内で複数回送信できますか?

XMLSocket があり、同じ関数で send を 2 回呼び出します。最初の送信は機能しますが、2 番目の送信は機能しませんか? XMLSocket には、フレームごとに 1 つのメッセージのみを送信するという制限がありますか? メッセージをキューに入れ、キューをチェックしてフレームごとに 1 つのメッセージを送信する onEnterFrame 関数を用意する必要がありますか?

0 投票する
3 に答える
1315 参照

flash - AS3.0XMLSocketでサーバーに接続できません

Pythonで作成したサーバーがあり、FlashのXMLSocketを介してサーバーに接続しようとしています。複数の非Flashクライアントアプリケーションで正常に使用したので、このサーバーが正しく機能していることは確かです。今のところ、ローカルディスクにあるSWFを使用してリモートサーバーに接続したいだけです。私が理解していることから、これは、SWFが別のドメインにないため、セキュリティポリシーファイルが必要ないことを意味します。また、ファイルのセキュリティサンドボックスプロパティがlocal-trustedに設定されていることを確認しました。これにより、SWFはサーバーに接続し、サーバーからデータを取得できるようになります。ASファイルの重要なコードは次のとおりです。

サーバーは、接続が確立されるとすぐに文字列'hello\0'を送信するようにプログラムされています。ただし、これが正常に行われた場合は、動的テキストボックスのデフォルトのテキストを文字列「datareceived」に置き換える必要がありますが、これは発生していません。SWFファイルがローカルであっても、ポリシーファイルが必要になる可能性はありますか?

0 投票する
1 に答える
711 参照

apache-flex - Flex - XMLSocket は XML の最後の終了タグを切り捨てます - なぜですか?

XMLSocket を使用して、反対側でリッスンしているサーバーに XML を送信しようとするプロジェクトがあります。

アプリケーションファイルは次のとおりです。

そして MyConnection.as は次のとおりです。

ご覧のとおり、これは言語リファレンスの XMLSocket の例と非常によく似ています。

ただし、サーバーが受信したデータを盗聴すると、終了タグのない切り捨てられた XML が表示されます

そして、次のデータ送信時に終了タグが表示されます。

なぜこれが起こっているのですか?助言がありますか?

リクエストごとにソケットを開いたり閉じたりする必要がありますが、テストのためにそうしないようにしても役に立ちませんでした

ありがとう!

カルナフ

0 投票する
1 に答える
1241 参照

vb.net - VB.netフラッシュXMLSocket置換アプリ

VB.net(express 2010)アプリをソケットサーバーに接続しようとしています(接続を開いたままにします)。これについてはどうすればよいですか?現在、フラッシュXMLsocketを使用して動作します。既存のサーバーを使用して、フラッシュなしで新しいクライアントを構築しようとしています。

現在、私はメッセージを表示するシンプルなウィンドウとメッセージを送信する場所を使用しています。

接続していると表示されますが、メッセージが表示されず、送信されたメッセージは効果がないように見えます。同じIPとポートを使用してサーバーにTelnetで接続すると、メッセージが届くのを確認できるので、接続できることがわかります。サーバーに。これが私のコードです:

0 投票する
2 に答える
452 参照

flash - フラッシュでパケットを分割する方法、XMLSocket

こんにちは私はフラッシュクライアントがサーバーが送信するいくつかのパケットを失っていると思います。いくつかのパケットが一緒に結合されるため、それらをドロップすると思います。

これが私のpacketHandlerのフラッシュです

サーバーから送信された可能性のあるパケットはスニッフィングされました。

u:105.w。別名(75 3A 31 30 35 00 77 00)

そのため、待機中のパケットは着信しませんでした。

このバグを修正するにはどうすればよいですか。XMLSocketを使用しています