Socket的客户端,方法receive用于接收数据,方法send用于发送数据.
class client{
void receive{...}
void send{...}
}类A调用client的receive方法,不间断地接收数据.
class A{
void main(String[] args){
client cli=new client();
cli.receive();
}
}现在另一个类B要使用client的send方法,如果使用new client()的话,则socket连接就会中断.
我试过client的方法用static,但是运行时有异常NullPointerException
如何调用正在运行的类client的方法呢?非常急啊!
谢谢各位大虾!
class client{
void receive{...}
void send{...}
}类A调用client的receive方法,不间断地接收数据.
class A{
void main(String[] args){
client cli=new client();
cli.receive();
}
}现在另一个类B要使用client的send方法,如果使用new client()的话,则socket连接就会中断.
我试过client的方法用static,但是运行时有异常NullPointerException
如何调用正在运行的类client的方法呢?非常急啊!
谢谢各位大虾!
class A{
public static client cli=new client();
void main(String[] args){
cli.receive();
}
}
或者:
class client{
public static client ct = null; //建立它本身,用this赋给它
client(){
ct = this;
}
void receive{...}
void send{...}
public static client getInstance(){
return ct;
}}
//在别的类中就可以直接调用运行的client
.........
client.getInstance().receive();
............
---------------------------------
将类client 定义为单态模式,在类A 和B中就可以使用了,但是client类就只能有一个了!~
例如先运行C,再用JAVAC命令运行A和B,
我按你上面的办法做了,还是空指针异常:NullPointException
问题就是在这里,
要在开了这条线程后,只能用这条线程发送和接收数据.