新闻资讯
记录首创点滴进步 见证远行
我们一直紧跟时代前沿,聚焦行业实时动态,发布公司最新资讯,欢迎您的关注

5.29日音讯,手机与PC实现通信功能

日期:2013-05-29发布:首创网络浏览:670次

    5.29日音讯,手机与PC实现通信功能。终端持续扫描AP信息并发送给服务器端的实现。首先基于TCP协议在Android终端和PC两端之间形成网络虚拟链路。使用ServerSocket创建TCP服务器端,然后在Android客户端使用Socket的···

    本文关键字:5.29日,音讯,手机,与,实现,通信,功能,5.29日,

  5.29日音讯,手机与PC实现通信功能。终端持续扫描AP信息并发送给服务器端的实现。首先基于TCP协议在Android终端和PC两端之间形成网络虚拟链路。使用ServerSocket创建TCP服务器端,然后在Android客户端使用Socket的构造器来连接服务器。其中Android终端通过WIFI连接和PC处于同一局域网。

  1.PC服务器启用ServerSocket

  两个通信实体在建立虚拟链路之前,需要有一方先准备好,主动接受来自其他通信实体的连接请求。

  使用ServerSocket对象监听来自客户端的Socket连接。

  [plain]//创建ServerSocket对象

  ServerSocketss=newServerSocket(30000);

  //监听来自客户端的请求

  while(true){

  Sockets=ss.accept();

  …

  }

  //创建ServerSocket对象

  ServerSocketss=newServerSocket(30000);

  //监听来自客户端的请求

  while(true){

  Sockets=ss.accept();

  …

  }

  如果没有连接,则将一直处于等待状态。当接收到连接请求后,获取消息到输入流,并保存到文件。

  [plain]/接收客户端消息

  BufferedReaderin=newBufferedReader(newInputStreamReader(client.getInputStream()));

  Stringstr;

  BufferedWriterbw=newBufferedWriter(newFileWriter("D:/ApInfo"+(i++)+".txt"));

  while((str=in.readLine())!=null){

  System.out.println(str);

  bw.write(str);

  bw.newLine();

  }

  //接收客户端消息

  BufferedReaderin=newBufferedReader(newInputStreamReader(client.getInputStream()));

  Stringstr;

  BufferedWriterbw=newBufferedWriter(newFileWriter("D:/ApInfo"+(i++)+".txt"));

  while((str=in.readLine())!=null){

  System.out.println(str);

  bw.write(str);

  bw.newLine();

  }

  2.Android终端使用Socket通信

  客户端使用Socket的构造器连接服务器,指定服务器IP和端口号就可以了。

  Sockets=newSocket(“192.168.1.100”,30000);

  这样服务器端的accept()方法就得到响应,从而向下执行,服务器端和客户端就形成了一对互相连接的Socket。再进行通信时就没有服务器和客户端之分了,都是通过输入输出流进行通信。

  详细步骤:

  采用Handler和TimerTask来定时扫描AP信息并发送给服务器端。TimerTask规定了到达指定的时间所要进行的任务。

  [plain]TimerTasktask=newTimerTask(){

  publicvoidrun(){

  Messagemessage=newMessage();

  message.what=1;

  handler.sendMessage(message);

  }

  };

  TimerTasktask=newTimerTask(){

  publicvoidrun(){

  Messagemessage=newMessage();

  message.what=1;

  handler.sendMessage(message);

  }

  };

  handler传递message内容:

  [plain]Handlerhandler=newHandler(){

  publicvoidhandleMessage(Messagemsg){

  switch(msg.what){

  case1:

  //执行定时器时间到了之后由handler传递的任务

  break;

  }

  super.handleMessage(msg);

  }

  };

  Handlerhandler=newHandler(){

  publicvoidhandleMessage(Messagemsg){

  switch(msg.what){

  case1:

  //执行定时器时间到了之后由handler传递的任务

  break;

  }

  super.handleMessage(msg);

  }

  };

  接下来扫描AP信息并发送给服务器端,然后将结果保存。

  [plain]WifiManagerwifiManager=(WifiManager)getSystemService(WIFI_SERVICE);

  wifiManager.startScan();

  mWifiList=wifiManager.getScanResults();

  WifiManagerwifiManager=(WifiManager)getSystemService(WIFI_SERVICE);

  wifiManager.startScan();

  mWifiList=wifiManager.getScanResults();

  由WifiManager说明可知,它可以用于处理已配置的网络,当前连接的网络及AP信息的扫描等情况。

  向服务器发送消息:

  [plain]socket=newSocket("192.168.1.211",30000);

  //向服务器端发送消息

  PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream())),true);

  out.println(message);

  socket=newSocket("192.168.1.211",30000);

  //向服务器端发送消息

  PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream())),true);

  out.println(message);

  其中message为获取的AP信息,测试收到的信息格式为:

  SSID:ICIS_LAB,BSSID:1c:af:f7:9a:65:e4,capabilities:[WPA-PSK-TKIP+CCMP],level:-80,frequency:2437

    欢迎大家阅读浏览,部分内容来源于网络,如有侵权,请联系我们删除!

+ 查看更多我们的客户 / Our client

    24小时技术支持
    18931045623
    在线客服

首创简介

    首创网络成立于2012年,是一家专业的品牌网站设计和网络营销推广公司,服务领域涵盖网站设计、市场策划、企业画册及VI视觉设计、网站域名空间等领域,公司拥有一批高素质人才,着力打造品牌网站设计制作和网上营销策略执行两大优势。

    十年来,凭借对市场趋势敏锐的洞察,和对消费者、企业形态深刻的理解,我们服务的已遍及京津冀、长三角、珠三角等领域,行业覆盖政府机构、企事业单位、无线通讯、环保、电子、医药、交通、园林、地产等行业,诸多知名企业,如广州京信集团、广东联通广州分公司、搜狐家居广州站、搜狐家居邯郸站等,都鉴证了首创设计公司的品牌设计思想与能力,首创设计公司也与诸多企业勃的市场经济中互促共生。

在线客服


  • 扫描加微信

  • 扫描加QQ

  • 扫描浏览手机版
首创网络邯郸公司
邯郸公司
服务热线:0310-4559740 / 18931045623  公司地址:邯郸市丛台区颐高广场B座13层1304室  客户接待:邯郸市陵园路669号康桥国际B06