顯示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