显示java.lang.NullPointerException:尝试上的空对象引用Socket.getOutputStream()上的空onject参考
之前调用虚拟方法的java.io.OutputStream java.net.Socket.getOutputStream()'你记下这一点,我对此很新,我试图寻找方法来解决这个问题之前,但我似乎无法找到解决方案。我希望你明白..当我运行更改监听器时,出现此错误。
seekbarbrightness.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekbarbrightness, int progress, boolean b) {
if(b==true) {
tblumens.setText(String.valueOf(progress) + " Lumens");
try {
socket.getOutputStream().write(String.valueOf(progress).getBytes());
} catch (IOException e) {
}
}
}
我在On Create方法中运行下面的代码。
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
check = "fail";
socket = new Socket(serverAddr, SERVERPORT);
check = "success";
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
什么问题?是否因为我的套接字连接未正确初始化? (另外,我还没有运行我的服务器,但是,捕获将显示一个错误不会吗?)
我试过使用一个if socket.isConnected()函数,然后执行try和catch ,但它没有区别..
请帮忙!我已经搜索了很多教程,并获得了用于套接字客户端连接的这些代码。
'socket'为null,显然,显然这是因为连接失败。 'Socket.isConnected()'不可能有帮助,因为你没有'Socket'。 – EJP
啊,有没有办法避免碰撞?就像在连接失败之后,手机可以让我知道通过烤面包的连接失败,并且当我移动我的搜索栏时不让它崩溃? – Learning2code
它*已*让你知道。有一个'ConnectException'。否则你有一个编程错误。你有没有考虑测试'socket == null'? – EJP