Android手机与PC端进行通信
2016-02-18 21:09
531 查看
前阵子研究短信窃听器的时候,碰到一个问题,需要手机和电脑PC之间进行通信,互相传输数据,之间碰到的问题写出来,方便大家共享,减少查找资料的时间。
首先,有关网络的操作,没有用线程,导致出现网络操作报错:android.os.NetworkOnMainThreadException,android 版本不允许在主线程中进行网络访问,需要将网络操作单独放到一个线程中。
客户端代码如下:
服务器端代码如下:
服务器不停的接收来自客户端发送过来的数据,并进行显示。同时,客户端需要具有网络访问权限。
首先,有关网络的操作,没有用线程,导致出现网络操作报错:android.os.NetworkOnMainThreadException,android 版本不允许在主线程中进行网络访问,需要将网络操作单独放到一个线程中。
new Thread(){ public void run(){ //在此执行网络操作代码 } }.start();
客户端代码如下:
new Thread(){ public void run(){ System.out.println("before执行连接操作"); Socket s = null; try { s = new Socket("192.168.1.101", 30000); System.out.println("执行连接操作"); PrintWriter pw; BufferedReader br; if(s==null){ Log.e("socket","socket is null"); System.out.println("执行连接操作失败"); } else { //br=new BufferedReader(new OutputStreamWriter(s.getOutputStream()),true); //pw = new PrintWriter(s.getOutputStream()); pw = new PrintWriter( new BufferedWriter( new OutputStreamWriter(s.getOutputStream())),true); if(pw!=null){ /*String str="aaaaaaaaa"; pw.println(str);*/ pw.println(sb.toString()); pw.flush(); } } } catch (IOException e) { e.printStackTrace(); } } }.start();
服务器端代码如下:
public class ServerSocketClass { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("服务器启动。。。"); ServerSocket ss; try { ss = new ServerSocket(30000); while(true){ Socket s = ss.accept(); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String str; //BufferedWriter bw = new BufferedWriter(new FileWriter("D:/11.txt")); while ((str = in.readLine()) != null) { System.out.println(str); // bw.write(str); // bw.newLine(); } // bw.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
服务器不停的接收来自客户端发送过来的数据,并进行显示。同时,客户端需要具有网络访问权限。
相关文章推荐
- Android开发者必知的开发资源
- android toolbar 假标题居中
- Android特效专辑(十一)——仿水波纹流量球进度条控制器,实现高端大气的主流特效
- Android特效专辑(十一)——仿水波纹流量球进度条控制器,实现高端大气的主流特效
- android蓝牙技术
- Android开发性能优化大总结
- android简单实例---------------SD卡(外部)存储的使用与讲解
- Android开发规范
- Android布局控件
- 【android】侧滑关闭activity
- Android开发学习之路--Service之初体验
- Android开发学习之路--Service之初体验
- androidpadding和androidmargin的区别
- android中src和background区别
- Android 启动模式和启动标志的关系以及各种适应的使用场合
- Android端使用retrofit上传多张图片,后端使用Php接收图片
- Android防止内存泄露
- Android实现欢迎界面的自动跳转
- Android搜索功能的案例,本地保存搜索历史记录。
- 【Android高级】锁屏功能简单实现