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(); // 注意此處要先在配置文件里設置權限,否則會拋權限不足的異常
} 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();
}
更多關于Android相關內(nèi)容感興趣的讀者可查看本站專題:《Android通信方式總結(jié)》、《Android開發(fā)入門與進階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設計有所幫助。
相關文章
Android AlertDialog實現(xiàn)分享對話框/退出對話框/下載對話框
這篇文章主要介紹了Android AlertDialog實現(xiàn)分享對話框/退出對話框/下載對話框的相關資料,需要的朋友可以參考下2016-04-04
Android開發(fā)筆記之:返回鍵的復寫onBackPressed()介紹
本篇文章是對Android中返回鍵的復寫onBackPressed()進行了詳細的分析介紹,需要的朋友參考下2013-05-05
如何修改Android Studio創(chuàng)建module時默認的compileSdkVersion
這篇文章主要給大家介紹了如何修改Android Studio創(chuàng)建module時默認的compileSdkVersion的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧。2017-05-05
Android不使用自定義布局情況下實現(xiàn)自定義通知欄圖標的方法
這篇文章主要介紹了Android不使用自定義布局情況下實現(xiàn)自定義通知欄圖標的方法,實例分析了Android通知欄圖標的創(chuàng)建技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-12-12

