基本逻辑:
在服务端写一个程序用来接收手机端的连接请求,于此同时,树莓派开发板上运行着一个死循环连接程序用来不断尝试连接服务端,一旦连接上之后树莓派便控制脚本开灯,服务器端的任务就是,判断有无手机端的连接请求,如果有,则再创建一个socket线程用来供树莓派连接。
主要安卓代码如下:
case R.id.open:
new Thread()
{
@Override
public void run() {
super.run();
try {
//创建Socket
Socket socket=new Socket("115.28.26.84",4601);
//Socket socket=new Socket("10.3.18.49",30000);
//向服务器发送消息
//建立输出流
OutputStream out=socket.getOutputStream();
out.write("1".getBytes("utf-8"));
//关闭流
out.close();
//关闭Socket
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
break;
case R.id.close:
new Thread()
{
@Override
public void run() {
super.run();
try {
//创建Socket
Socket socket=new Socket("115.28.26.84",4601);
//向服务器发送消息
//建立输出流
OutputStream out=socket.getOutputStream();
out.write("0".getBytes("utf-8"));
//关闭流
out.close();
//关闭Socket
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
break;