この問題を解決する方法がわかりません。お役に立てば幸いです。
サーバー側の後ろに私はこれを持っています:
class Baza0 implements Runnable{
anotherclass arraylist_handle = new anotherclass();
public method1(string s1){uses methods figured in arraylist_handle)
public run(){
while(true){
Socket s = s.accept();
if(s==NULL) continue;
//there I'm starting another thread that handles client connection
}
}
public static void main(){
Baza0 baza0 = new Baza0();
Thread t = new Thread(baza0);
}
}
接続されたクライアントは、socketserver 機能によって文字列をクライアント ハンドラに送信します。この文字列をクライアント ハンドラーから method1 にパラメーターとして送信するにはどうすればよいですか? ArrayList はすべてのクライアントに共通でなければならないため、Baza0 オブジェクトを 1 つだけ使用する必要があります。
編集
Baza0.baza0.method1() のようなものが機能しない理由を教えてもらえますか?
EDIT2
私がしたことを見てください!
クラス Baza0 で静的変数を作成しました。
static Baza0 baza1;
main メソッドで Baza0 オブジェクトを開始しました。
Baza0 baza0 = new Baza0();
この後、baza1 = baza0 を作成するメソッドを実行します。
クライアントハンドラーから、次の方法でメソッドにアクセスできます。
Baza0.baza1.method1(param);
それはうまくいきます!:D ...理由がわからない.