編輯:關於Android編程
本文實例講述了Android編程實現TCP、UDP客戶端通信功能。分享給大家供大家參考,具體如下:
在進行Android開發的過程中,免不了,要開發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();
// 注意第二個參數據為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相關內容感興趣的讀者可查看本站專題:《Android通信方式總結》、《Android開發入門與進階教程》、《Android調試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
Android Listview點贊問題關於圖片重復問題
《最近做一個小功能遇到這麼一個問題,listview 與 baseadapter結合使用,關於點贊的的時候 圖片重復問題,比如:我在第1個item 點贊然後 心型換成了紅
Android Studio系列-HelloWorld
Android Studio系列-HelloWorld前言Hello 各位,小巫這裡要記錄一些關於如何使用Android Studio開發Android app,這一篇是
android 主題和樣式-style和Theme的區別和使用
項目中經常使用style和Theme,但卻從來沒有考慮過它們的區別,只會copy來copy去的,有時候還有些迷茫,為了徹底告別迷茫,現把這兩者的區別和使用總結出來,供自己
Android開發中RecyclerView模仿探探左右滑動布局功能
我在此基礎上優化了部分代碼, 添加了滑動回調, 可自定義性更強. 並且添加了點擊按鈕左右滑動的功能.據說無圖都不敢發文章了.看圖:1:這種功能, 首先需要自己管理布局繼承