2016-11-02 2 views
1

Ich habe 1 Client in Java geschrieben und 1 Server auf der PI in C geschrieben über einen Socket.Server (C) auf der PI keine Verbindung mit Client (Java)

Zuerst konnten der Server und der Client miteinander sprechen. Nach einem Git merge es nicht mehr, aber nichts hat sich geändert. Kann jemand sehen, was falsch ist?

Jeder Einblick würde sehr geschätzt werden.

Danke.

UdpClient:

package com.example.jobush50.test2; 

import android.os.Message; 

import java.io.IOException; 
import java.net.DatagramPacket; 
import java.net.DatagramSocket; 
import java.net.InetAddress; 
import java.net.SocketException; 
import java.net.UnknownHostException; 

public class Udpclient extends Thread { 


    String ipaddress; 
    int port; 

    DatagramSocket socket; 
    InetAddress address; 

    String msg; 

    public Udpclient(String addr, int prt) { 
     ipaddress = addr; 
     port = prt; 
    } 

    public void message(String message) { 
     msg = message; 
    } 

    public void run() { 

     try { 

      socket = new DatagramSocket(); 
      address = InetAddress.getByName(ipaddress); 

      // send request 
      byte[] buf; 
      buf = msg.getBytes(); 

      DatagramPacket packet = 
        new DatagramPacket(buf, buf.length, address, port); 
      socket.send(packet); 

     } catch (SocketException e) { 
      e.printStackTrace(); 
     } catch (UnknownHostException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } finally { 
      if (socket != null) { 
       socket.close(); 
      } 
     } 
    } 
} 

MainActivity - Wo Buchse hergestellt:

package com.example.jobush50.test2; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.MotionEvent; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ImageView; 
import android.widget.RelativeLayout; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

    EditText editTextAddress, editTextPort; 
    Button buttonConnect; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     editTextAddress = (EditText) findViewById(R.id.editText_ip); 
     editTextPort = (EditText) findViewById(R.id.editText_port); 
     buttonConnect = (Button) findViewById(R.id.Connect_button); 

     buttonConnect.setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View v){ 

       String ip = editTextAddress.getText().toString(); 
       int port = Integer.parseInt(editTextPort.getText().toString()); 

       //udpclient = new Udpclient(ip,port); 
       //udpclient.start(); 

       Intent intent = new Intent(MainActivity.this,SecondActivity.class); 

       intent.putExtra("ip", ip); 
       intent.putExtra("port", port); 

       startActivity(intent); 

      } 
     }); 
    } 
} 

Antwort

0

Ihre Nachrichtenvariable ist leer und verursacht eine NULL-Zeigerausnahme.

0

Vielleicht etwas fehlt mir, aber Sie haben den Teil kommentiert, wo Sie einen neuen UdpClient erstellen und starten.

+1

Es ist gelöst! Nun, das war nicht das Problem, das dachte ich mir auch. Die Ausgabe, die ich erhielt, war über eine NULLpointer-Ausnahme in der Nachricht. Es war leer ... und das machte den Fehler. Danke für deine Nachricht! – LamarSt

Verwandte Themen