新聞資訊
記錄首創點滴進步 見(jiàn)證遠(yuǎn)行(xíng)
我們一(yī)直緊跟時(shí)代前沿,聚焦行&♣↕€(xíng)業(yè)實時(shí)動态,發布公司最新資訊,歡↓≥$β迎您的(de)關注

5.29日(rì)音(yīn)訊,手機(≈≈jī)與PC實現(xiàn)通(tōng)信功能(néng)

日(rì)期:2013-05-29發布:首創網絡浏覽:673次

    5.29日(rì)音(yīn)訊,手機(jī)與PC實現(→✔xiàn)通(tōng)信功能(néng)。終端持續掃描AP信息并發送給λ☆↔服務器(qì)端的(de)實現(xiàn)。‍γ✔首先基于TCP協議(yì)在Android終端和(hé)PC兩端之間(₹§✘jiān)形成網絡虛拟鏈路(lù)。使用(ελyòng)ServerSocket創建TCP服務器(qì)端,然後在An÷ δ droid客戶端使用(yòng)Socket的(de)·✘✔↓··

    本文(wén)關鍵字:5.29日(rì)↑♥,音(yīn)訊,手機(jī),與,實現(xiàn),通←×(tōng)信,功能(néng),5.29日(rì♠δ→),

  5.29日(rì)音(yīn)訊,手機(jī)與PC實現(xiàn®δ)通(tōng)信功能(néng)。終端持續掃描AP信↕₽λ'息并發送給服務器(qì)端的(de)實現(xiàn)。<↕ 首先基于TCP協議(yì)在Android終端和(hé)PC兩端之間₽©←(jiān)形成網絡虛拟鏈路(lù)。使用(yòng)ServerSoδ•cket創建TCP服務器(qì)端,然後在Android客≤€≤€戶端使用(yòng)Socket的(de)構造器(qì)來(lái)連接∑♣₩€服務器(qì)。其中Android終端通(tōng≈α)過WIFI連接和(hé)PC處于同一(yī)局域網。

  1.PC服務器(qì)啓用(yòng)ServerSock∞←♣et

  兩個(gè)通(tōng)信實體(tǐ)在建立虛拟鏈路(lù)之前,需∑✔要(yào)有(yǒu)一(yī)方先準備好(hǎo),主動<<↑接受來(lái)自(zì)其他(tā)通(tōng)信​≤₽¥實體(tǐ)的(de)連接請(qǐng)求。

  使用(yòng)ServerSocket對(duì)↓✔象監聽(tīng)來(lái)自(zì)客✘÷戶端的(de)Socket連接。

  [plain]//創建ServerSocket對(duì)象

  ServerSocketss=newServer§αSocket(30000);

  //監聽(tīng)來(lái)自(zì)客戶端的(de↔←™)請(qǐng)求

  while(true){

  Sockets=ss.accept();

  …

  }

  //創建ServerSocket對(duì)象

  ServerSocketss=newServerSocket(3$Ω♦‍0000);

  //監聽(tīng)來(lái)自(zì)客戶端的(de)請($♣qǐng)求

  while(true){

  Sockets=ss.accept();

  …

  }

  如(rú)果沒有(yǒu)連接,則将一(yī)直 &✔處于等待狀态。當接收到(dào)連接請(qǐng)求後,獲取消息到(dào)₹δ輸入流,并保存到(dào)文(wén)件(jiàn)。

  [plain]/接收客戶端消息

  BufferedReaderin=newB&☆∏€ufferedReader(newInputS★§↑treamReader(client.getInputStream()));ε±

  Stringstr;

  BufferedWriterbw=newBufferedWriter±∞♣(newFileWriter("D:/ApInfo"+(i++)+".t'↕π≥xt"));

  while((str=in.readLine())!=null){♠®™÷

  System.out.printl>₹£δn(str);

  bw.write(str);

  bw.newLine();

  }

  //接收客戶端消息

  BufferedReaderin=newBufferedRea ±der(newInputStreamReader(ε$client.getInputStream()))₽©☆ ;

  Stringstr;

  BufferedWriterbw=ne' ≤wBufferedWriter(newFileWriter("D:/Aγ↔→pInfo"+(i++)+".txt"));

  while((str=in.readLin∏π₽✘e())!=null){

  System.out.println(str);

  bw.write(str);

  bw.newLine();

  }

  2.Android終端使用(yòng)Socket通(t¶πφōng)信

  客戶端使用(yòng)Socket的(de)構造器(qì)®™∏連接服務器(qì),指定服務器(qì)IP和(hé)端口号就(jiù)可(kě≈$δ )以了(le)。

  Sockets=newSocket(“1δ↓δ92.168.1.100”,30000);

  這(zhè)樣服務器(qì)端的(de)accept()方"♦ ∏法就(jiù)得(de)到(dào)響應,從(có≠≈ng)而向下(xià)執行(xíng),服>β♠務器(qì)端和(hé)客戶端就(jiù)&≤形成了(le)一(yī)對(duì)互相(xiàng)βγ‌連接的(de)Socket。再進行(xín™"g)通(tōng)信時(shí)就(jiù)沒有φ☆σ→(yǒu)服務器(qì)和(hé)客戶端之分(≥→fēn)了(le),都(dōu)是(shì)通(tōng)Ω≈≠過輸入輸出流進行(xíng)通(tōng)信。

  詳細步驟:

  采用(yòng)Handler和(hé)TimerTask來(lá≈♥₩₹i)定時(shí)掃描AP信息并發送給服務器(qì)端。TimerT£✘ask規定了(le)到(dào)達指定的(de)時(shí)間(jiān)所δ✘'×要(yào)進行(xíng)的(de)任務。

  [plain]TimerTasktask=newTimerTask(↓§↕₽){

  publicvoidrun(){

  Messagemessage=newMessage()∞&≤;

  message.what=1;

  handler.sendMessage(mess‌±↑©age);

  }

  };

  TimerTasktask=newTimerTask(){

  publicvoidrun(){

  Messagemessage=newMessage();

  message.what=1;

  handler.sendMessage(β₹"↑message);

  }

  };

  handler傳遞message內(nèi)‌♥容:

  [plain]Handlerhandler=newHandler() ™Ωδ{

  publicvoidhandleMessage(Mess←↓σ™agemsg){

  switch(msg.what){

  case1:

  //執行(xíng)定時(shí)器(qì)時↕ (shí)間(jiān)到(dào)了(le)之後由handleε¶♠✔r傳遞的(de)任務

  break;

  }

  super.handleMessage(msg);

  }

  };

  Handlerhandler=newHandler(){

  publicvoidhandleMessage(Messagemsg)≤★↔←{

  switch(msg.what){

  case1:

  //執行(xíng)定時(shí)器(qì)時(shí)間(jiānγ )到(dào)了(le)之後由handler傳遞的(de)任≠™♠務

  break;

  }

  super.handleMessage(msg);

  }

  };

  接下(xià)來(lái)掃描AP♥ 信息并發送給服務器(qì)端,然後将結果保存。

  [plain]WifiManagerwifiManager=(Wif±≤iManager)getSystemServ§εice(WIFI_SERVICE);

  wifiManager.startScan();

  mWifiList=wifiManager.getScan↑>✔↓Results();

  WifiManagerwifiManager=(WifiMa&♥∑nager)getSystemService(WIFI_SERV≤♠ICE);

  wifiManager.startScan();

  mWifiList=wifiManager.get≠→ε₽ScanResults();

  由WifiManager說(shuō)明(míng)可( ®€₩kě)知(zhī),它可(kě)以用(yòng)于處理(lǐ)已配置‍​★的(de)網絡,當前連接的(de)網絡及A ÷←P信息的(de)掃描等情況。

  向服務器(qì)發送消息:

  [plain]socket=newSock€↓et("192.168.1.211",3000 ε€£0);

  //向服務器(qì)端發送消息

  PrintWriterout=ne ¥‍♥wPrintWriter(newBuffere>→​dWriter(newOutputStre<→φamWriter(socket.getOutputStream())),tru♠‍♥e);

  out.println(message);

  socket=newSocket("19☆≤ 2.168.1.211",30000);

  //向服務器(qì)端發送消息

  PrintWriterout=new↕© PrintWriter(newBufferedWriter(newOutput™♣≠₩StreamWriter(socket.getOutputStream())∏♥ ),true);

  out.println(message£πδ);

  其中message為(wèi)獲取的(de)AP信息♦£,測試收到(dào)的(de)信息格式為£÷♣↔(wèi):

  SSID:ICIS_LAB,BSSID:1c:af:f₽​ε↑7:9a:65:e4,capabilities:[WPA-PSK-TKIP+C→÷✘"CMP],level:-80,frequency:243 ¶↑₹7

    歡迎大(dà)家(jiā)閱讀(dú)浏覽,部分(fēn)內$♠ ★(nèi)容來(lái)源于網絡,如(rú)有(yΩ¶←ǒu)侵權,請(qǐng)聯系我們删除! ©>

+ 查看(kàn)更多(duō)我們的(de)客戶 / Our client

    24小(xiǎo)時(shí)技(jì)術(shù)支持
    18931045623
    在線客服

首創簡介

    首創網絡成立于2012年(nián),是(sh☆αì)一(yī)家(jiā)專業(yè)的(de)品牌網站(zhàn)設計(≥← jì)和(hé)網絡營銷推廣公司,服務領¥∞域涵蓋網站(zhàn)設計(jì)、市(shì)場∑"(chǎng)策劃、企業(yè)畫(huà)冊及VI視(shì)覺設計(jì)∏∞λ、網站(zhàn)域名空(kōng)間(jiā©πn)等領域,公司擁有(yǒu)一(yī)批高(gāo)素質✘∏人(rén)才,著(zhe)力打造品牌網站(zhàn)設計(jì)制(zγ÷ hì)作(zuò)和(hé)網上(shàng)↕≠≤營銷策略執行(xíng)兩大(dà)優勢。

    十年(nián)來(lái),憑借對(duì)市(s♠‌≈hì)場(chǎng)趨勢敏銳的(de)洞察,和(hé)對σ€(duì)消費(fèi)者、企業(yè)形态深刻的(de)理(lǐ)解,我們服Ω±☆₽務的(de)已遍及京津冀、長(cháng)三角←'™±、珠三角等領域,行(xíng)業(yè)覆蓋政府機(jī)構、企事( ↔←©shì)業(yè)單位、無線通(tōng)♣₹≠®訊、環保、電(diàn)子(zǐ)、醫(yī)藥、交通(  tōng)、園林(lín)、地(dì)産等行(xíng)業(yè),諸多($ ‍duō)知(zhī)名企業(yè),如(rú)廣州京信集團、廣Ω≈$東(dōng)聯通(tōng)廣州分(fēn)公司、搜狐家(♥✔'₽jiā)居廣州站(zhàn)、搜狐家(jiā)居邯鄲站↑✘α→(zhàn)等,都(dōu)鑒證了(le)首創設計(jì)公司的(de)品•☆£牌設計(jì)思想與能(néng)力,首創設計(jì)公司也(yγ♦βě)與諸多(duō)企業(yè)勃的(de)市✔&δ✘(shì)場(chǎng)經濟中互促共生(s'£hēng)。

在線客服


  • 掃描加微(wēi)信

  • 掃描加QQ

  • 掃描浏覽手機(jī)版
首創網絡邯鄲公司
邯鄲公司
服務熱(rè)線:0310-4559740 / 1893104562∑$≤ 3  公司地(dì)址:邯鄲市(shì)叢台區(qū)頤高(gāo)"£ ♦廣場(chǎng)B座13層1304室  客戶接待:邯$σ←&鄲市(shì)陵園路(lù)669号康橋國(guó)際B06