私は、フレックスクライアントとblazeds/Spring/javaバックエンドからなるマルチユーザーアプリケーションを持っています。メッセージを宛先に送信し、消費し、生成する。 Flexクライアントは、このクラスの文字列を問題なく送信し、取得できます。私がしたいのは、2つのクライアントに同じ変数へのアクセスを持たせることです。この粗いサンプルでは、文字列_playersサーバー側に追加する各swfからGUIDを送信します。 Swf Aは、Swf Aを起動すると、Swf Bと同じようにGUIDを返します。その後、Swf AはSwf BからGUIDを受け取るが、Swf BはSwf Aを受け取らない。BTWこれはちょうど2回起動された同じswfコードであるそれぞれ別のブラウザにあります。複数のflexクライアントを単一のJavaクラスに接続
誰かが私が間違っているか、もっと良い解決策があるのか分かりませんか?
public class GameFeed {
private static GaneFeedThread thread;
private final MessageTemplate template;
public GameFeed(MessageTemplate template) {
this.template = template;
}
public void start() {
if (thread == null) {
thread = new GaneFeedThread(this.template);
thread.start();
}
}
public void stop() {
thread.running = false;
thread = null;
}
public static class GaneFeedThread extends Thread {
public boolean running = false;
private final MessageTemplate template;
public GaneFeedThread(MessageTemplate template) {
this.template = template;
}
private static String _players;
public void addPlayer(String name)
{
_players += name + ",";
}
while (this.running) {
this.template.send("game-feed", _players);
}
同期化されたブロックに使用されるモニタを選択してください:「これ」できません – Ralph
これはありがとうございます。私は結局問題を発見しましたが、あなたの援助に感謝します。問題は実際には非常にばかげていて、可変スコープのためでした。私は変数をGameFeedクラスに移しました。これは、クライアントが起動したスレッドクラスではなく、うまくいきました。 – MikeW