java 多线程 空指针_java - 线程“ thread-4”中的异常java.lang.NullPointerException - 堆栈内存溢出...

我真的很感谢我的程序的一些帮助

Exception in thread "Thread-4" java.lang.NullPointerException

at ServerConnect.replyChoice(BaseStaInstance.java:63)

at ServerConnect.run(BaseStaInstance.java:45)

at java.lang.Thread.run(Thread.java:619)

我的ServerConnect函数看起来像:-

class ServerConnect extends Thread {

Socket skt;

String sProcessId;

ServerConnect scnt = null;

ObjectOutputStream myOutput;

ObjectInputStream myInput;

ServerConnect(){}

ServerConnect(Socket connection, String sProcessNo) {

this.skt = connection;

this.sProcessId = sProcessNo;

}

public void run() {

try {

myInput = new ObjectInputStream(skt.getInputStream());

ServerConnect scnt = new ServerConnect();

while(true) {

try{

int ownTimeStamp = Global.iTimeStamp;

Object buf = myInput.readObject();

//if we got input, print it out and write a message back to the remote client...

if(buf != null){

LINE 45--> **scnt.replyChoice(buf);**

}

}catch(ClassNotFoundException e) {

e.printStackTrace();

}

}

} catch(IOException e) {

e.printStackTrace();

}

}

void replyChoice(Object buf){

try{

LINE 63 --> **myOutput = new ObjectOutputStream(skt.getOutputStream());**

System.out.println("Server read:[ "+buf+" ]");

myOutput.writeObject("got it");

myOutput.flush();

}catch(IOException e){

e.printStackTrace();

}

}

}

它基本上是一个套接字编程和多线程应用程序。 在不同的终端上执行该命令以使客户端和服务器建立连接时,我将执行代码。 但这会在两个终端上引发上述错误。 这与我在错误的地方声明myOutput变量有关。 有人可以帮我吗。 从错误消息中,我在所附的代码中突出显示了第63行和第45行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值