手机控制电脑关机程序
2015-12-06 23:40
344 查看
原理:移动端与服务器端通过Socket建立连接并通信。
服务器端:
移动端:
服务器端:
package shutdownWithAndroid; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class SocketServer { static void shutdown(){ try { Runtime.getRuntime().exec("shutdown -s -t 10"); }catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) throws IOException{ ServerSocket ss = new ServerSocket(30000); while (true){ BufferedReader reader =null; InputStreamReader isr =null; InputStream is =null; PrintStream ps =null; OutputStream os =null; Socket s = ss.accept(); is = s.getInputStream(); os = s.getOutputStream(); if(is!=null){ isr = new InputStreamReader(is); reader = new BufferedReader(isr); String line = reader.readLine(); System.out.println(line); if(line!=null){ if(os!=null){ ps = new PrintStream(os); ps.print("true"); // shutdown(); ps.close(); System.out.println("****************************"); } } reader.close(); } s.close(); } } }
移动端:
package com.example.shutdownpc; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.net.Socket; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button) findViewById(R.id.shutdown); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { new Thread() //里面没有Runnable { public void run() { try { Socket sc = new Socket("192.168.23.5" , 30000); //换成自己服务器端的IP地址 BufferedReader reader =null; InputStreamReader isr =null; InputStream is = null; PrintStream ps =null; OutputStream os =null; os = sc.getOutputStream(); is = sc.getInputStream(); isr = new InputStreamReader(is); reader = new BufferedReader(isr); if(os!=null){ ps = new PrintStream(os); ps.print("hello!"); ps.close(); } // if(reader!=null){ // String line = reader.readLine(); // // System.out.println(line); // // System.out.println("****************************"); // // reader.close(); // } sc.close(); } catch (IOException e) { e.printStackTrace(); System.out.println("IOException"); } } }.start(); } }); } }
相关文章推荐
- java-模拟tomcat服务器
- Linux socket 初步
- 小心服务器内存居高不下的元凶--WebAPI服务
- Android之获取手机上的图片和视频缩略图thumbnails
- android wifi 无线调试
- 运维入门
- 在 Linux 中如何移动文件
- Linux5.9无人值守安装
- 数据中心和云未来的十二大趋势
- 用vsftp快速搭建ftp服务器
- Linux快速构建apache web服务器
- 服务器监控策略浅谈
- java socket 注意的地方
- java socket 注意的地方
- 如何降低服务器采购成本 原理分析
- 建议的服务器分区办法
- 服务器托管六大优势分析
- Erlang实现的一个Web服务器代码实例