Andorid 簡單的socket 模板

2021-09-12 06:33:09 字數 1654 閱讀 3444

server 端:

1 通過handler 與activity 通訊。

2 啟動乙個thread, 等待client 連線和接收資料。

public class socketserver implements runnablecatch (ioexception e)

}@override

public void run()

string str = new string(bytes);

log.i(tag, "read str=" + str + "; len = " + len);

message msg = mhandler.obtainmessage(mainactivity.message_socket_update);

//通過handler, 通知資料到activity

bundle data = new bundle();

data.putstring("data", str);

msg.setdata(data);

mhandler.sendmessage(msg);}}

mserversocket.close();

mserversocket = null;

log.i(tag,"serversocket.close");

}catch (ioexception e)

}//activity 退出, 關閉socket server

public void destroy()catch (ioexception e)}}

}

client 端:

1 activity 會傳handler進來, 用於和activity的通訊

2 啟動乙個thread去連線server, 和傳送資料。 當連線到server後,thread 會啟動looper 來等待activity的傳送資料

looper.prepare();

mhandlethread = new handler()}};

looper.loop();

public class socketclient implements runnable

private void connectweb()

@override

public void run() catch (ioexception e)}}

};looper.loop();

msocket.close();

log.i(tag, "web socket close");

return;

} catch (ioexception e)

//server 連線失敗,或斷開,等待3秒,重新連線。

try catch (interruptedexception e)}}

//給activity呼叫的傳送資料的方法

//通過thread的handler發訊息到thread的looper,去傳送

public void send(string result)

}//結束socket client, 呼叫mhandlethread.getlooper().quit(); 退出looper 結束thread

public void destroy()

}}

ANDORID 支援的裝置

很少人關注這個問題,我不多說,你沒事看下,會有些特殊變化 下表列出了 google play 支援的裝置。此列表是按製造商名稱的首字母排序的。您也可以在此頁面中查詢自己的裝置 pc ctrl f,蘋果機 command f 請注意 列出的部分裝置採用了官方型號。要檢視裝置型號,請在您的裝置上依次轉到...

java 基於TCP UDP協議的Socket程式設計

基於tcp協議的socket程式設計 服務端 public class serverlogin 6.關閉輸入流 scoket.shutdowninput 7.向客戶端發訊息 info 歡迎您,登陸成功!os.write info.getbytes bufferedreader.close 8.關閉輸...

andorid 相對布局的屬性

android layout above 將該控制項的底部至於給定id的控制項之上 android layout below 將該控制項的頂部至於給定id的控制項之下 android layout toleftof 將該控制項的右邊緣和給定id的控制項的左邊緣對齊 android layout to...