我不知道如何解决这个问题,希望你能帮助我。
在服务器端我有这个:
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 作为参数?它必须使用唯一的一个 Baza0 对象,因为 ArrayList 必须对所有客户端通用。
编辑
有人能告诉我为什么像 Baza0.baza0.method1() 这样的东西不起作用吗?
编辑2
看看我做了什么!
我在 Class Baza0 中创建了一个静态变量:
static Baza0 baza1;
在 main 方法中,我启动了一个 Baza0 对象:
Baza0 baza0 = new Baza0();
在此之后运行使 baza1 = baza0 的方法。
现在从客户端处理程序我可以访问方法,通过:
Baza0.baza1.method1(param);
它确实有效!:D ...不知道为什么。