Android Studio到Raspberry Pi套接字通信

2024-10-06 06:50:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让我的android studio代码通过使用套接字从raspberry pi接收txt文件。pi当前设置为服务器,而应用程序设置为客户端。当这两个代码运行时,pi显示它收到了所需的命令“SEND1”,但是应用程序端没有显示任何内容。下面是我在应用程序中使用的java代码

public class MainActivity extends AppCompatActivity {

Button btnOne;
public String msgRead;
public TextView msg;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnOne = (Button) findViewById(R.id.btnUp);


    btnOne.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            CMD = "S s";             //Command to be sent
            wifiPW run = new wifiPW();
            run.execute();
            msg.setText(msgRead);
        }
    });

}

public class wifiPW extends AsyncTask<Void,Void,Void>{
    Socket socket;
    @Override
    protected Void doInBackground(Void... params){
        try{

            //declare sockets, printwriter, and bufferedreader
            socket = new Socket("192.168.42.1",5560);
            PrintWriter pw = new PrintWriter(socket.getOutputStream());
            BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            //send command to pi
            pw.write(CMD);
            pw.flush();

            //read reply from pi
            msgRead = br.readLine();
            br.close();
            pw.close();
            socket.close();
        }
        catch (UnknownHostException e){
            e.printStackTrace();
        }
        catch (IOException e){
            e.printStackTrace();
        }
        return null;
    }
}
}

这是我在pi上使用的python代码。我目前正在关注“SEND1”命令,并尝试发送字节而不是文件。非常感谢您的任何帮助

^{pr2}$

Tags: 文件代码br应用程序newclosepisocket