2016-11-02 6 views
1

Javaで書かれた1クライアントと、ソケットで接続されたCで書かれたPIの1サーバを持っています。PIのサーバ(C)がクライアント(Java)と接続しません

まず、サーバーとクライアントは互いに話すことができます。 gitのマージ後、もう動作しませんでしたが、何も変更されていません。誰かが間違っているのを見ることができますか

洞察力があれば幸いです。

ありがとうございました。

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 - ソケットが行われます

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); 

      } 
     }); 
    } 
} 

答えて

0

メッセージ変数が空で、NULLポインタ例外が発生します。

0

たぶん私は何かが欠けていますが、あなたは新しいudpclientを作成し、それを起動する部分をコメントアウトしています。

+1

解決済みです!まあそれは私もそれだと思った問題ではなかった。私が受け取った出力は、メッセージ内のNULLpointerの実行に関するものでした。それは空だった...そしてそれはエラーを作り出していた。メッセージありがとうございます! – LamarSt

関連する問題