アンドロイドアプリを使用してラズベリーパイを制御しようとしています。私はこれを行うためにwebsocketを使用しています。テストとして、私は、pythonスクリプトを実行するapp(クライアント)からhost(pi)への出力メッセージを送信したいだけです。私は実行するpythonスクリプトを取得することはできません。 ここにある私のコード:websocketを使用しているときにpythonスクリプトをjava経由で実行できません
host.java
import java.net.ServerSocket;
import java.net.Socket;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.IOException;
public class host{
public static void main(String args[]){
try(ServerSocket serverSocket = new ServerSocket(4141)) {
System.out.println("I'm listening on port: " +serverSocket.getLocalPort());
while (true) {
try {
Socket socket = serverSocket.accept();
OutputStream output = socket.getOutputStream();
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String in = "";
while ((in = input.readLine()) != null){
System.out.println("Message Received: " + in);
if(in.equals("test")){
Process p = Runtime.getRuntime().exec("python test.py");
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
がここにAndroidアプリのための私のコードです:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.Switch;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.*;
import java.net.*;
import java.net.Socket;
public class MainActivity extends AppCompatActivity {
String add = "192.168.100.7";
int port = 4141;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button test = (Button)findViewById(R.id.test);
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
test();
}
});
private void test() {
try {
Socket socket = new Socket(add, port);
PrintWriter output = new PrintWriter(socket.getOutputStream(), true);
output.write("test");
socket.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
メッセージの後には、システムの出力はありません「私は聞いていますオンポート: "