Android編程實現(xiàn)TCP、UDP客戶端通信功能示例
本文實例講述了Android編程實現(xiàn)TCP、UDP客戶端通信功能。分享給大家供大家參考,具體如下:
在進行Android開發(fā)的過程中,免不了,要開發(fā)TCP/UDP通訊的程序,下面這兩段代碼,分別介紹了TCP/UCP通過的一個實例:
代碼一 TCP通訊:
private void tcpdata() { try { Socket s = new Socket("192.168.0.25", 65500); // outgoing stream redirect to socket OutputStream out = s.getOutputStream(); // 注意第二個參數(shù)據(jù)為true將會自動flush,否則需要需要手動操作out.flush() PrintWriter output = new PrintWriter(out, true); output.println("Hello IdeasAndroid! 偽IP為:" + SIMCardToIP("13512345006")); InputStream inputStream = s.getInputStream(); DataInputStream input = new DataInputStream(inputStream); byte[] b = new byte[10000]; int length = input.read(b); inputReader = new InputStreamReader(inputStream); String Msg = new String(b, 0, length, "gb2312"); Toast.makeText(TcpTest.this, Msg, 1000).show(); Log.d("Tcp Demo", "message From Server:" + Msg); s.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
下面的代碼是UDP通訊的過程:
public String send(String msg) { StringBuilder sb = new StringBuilder(); InetAddress local = null; try { local = InetAddress.getByName("192.168.0.25"); // 本機測試 } catch (UnknownHostException e) { e.printStackTrace(); } try { dSocket = new DatagramSocket(); // 注意此處要先在配置文件里設(shè)置權(quán)限,否則會拋權(quán)限不足的異常 } catch (SocketException e) { e.printStackTrace(); } int msg_len = msg == null ? 0 : msg.length(); DatagramPacket dPacket = new DatagramPacket(msg.getBytes(), msg_len, local, SERVER_PORT); try { dSocket.send(dPacket); } catch (IOException e) { e.printStackTrace(); } try { dSocket.receive(dPacket); sb.append(new String(dPacket.getData())); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } dSocket.close(); return sb.toString(); }
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android通信方式總結(jié)》、《Android開發(fā)入門與進階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android中對RecyclerView Adapter封裝解析
本篇文章主要介紹了Android中對RecyclerView Adapter封裝解析。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06利用kotlin實現(xiàn)統(tǒng)計文件字符個數(shù)的方法示例
最近在學(xué)習(xí)kotlin,發(fā)現(xiàn)了一些不錯的小技巧,所以下面這篇文章主要給大家介紹了關(guān)于利用kotlin實現(xiàn)統(tǒng)計文件字符個數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12Android實現(xiàn)抽獎轉(zhuǎn)盤實例代碼
這篇文章主要介紹了Android實現(xiàn)抽獎轉(zhuǎn)盤實例代碼,可以應(yīng)用于Android游戲開發(fā)中的一個應(yīng)用,需要的朋友可以參考下2014-07-07使用SignalR推送服務(wù)在Android的實現(xiàn) SignalA
SignalA是老外寫的用于實現(xiàn).net端推送消息至安卓端的實現(xiàn),支持版本為android 2.3或以上2014-07-07Android實現(xiàn)ImageView圖片雙擊放大及縮小
這篇文章主要介紹了Android實現(xiàn)ImageView圖片雙擊放大及縮小的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-02-02Gradle屬性設(shè)置及環(huán)境變量全面教程
這篇文章主要為大家介紹了Gradle屬性設(shè)置及環(huán)境變量的全面教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06