在Android開發中,創建和監聽ServerSocket是常見的操作。ServerSocket可以讓設備作為服務器,接受其他設備的連接請求,完成數據傳輸等操作,從而實現設備之間的通信。下面將從以下幾個方面對如何創建和監聽ServerSocket進行詳細闡述。
一、創建ServerSocket
要創建ServerSocket,首先需要指定一個端口號。端口號範圍在1-65535之間,其中0-1023是被系統保留的,一般不建議使用。創建ServerSocket有兩種方式:
方式一:
try {
ServerSocket serverSocket = new ServerSocket(8080);
} catch (IOException e) {
e.printStackTrace();
}
方式二:
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket();
serverSocket.bind(new InetSocketAddress(8080));
} catch (IOException e) {
e.printStackTrace();
}
方式一通過直接指定端口號來創建ServerSocket,方式二則是通過先創建ServerSocket對象,再通過bind()方法綁定一個SocketAddress來創建。
二、監聽Socket連接
創建好ServerSocket之後,需要不斷地監聽連接請求。如果有連接請求到達,就需要創建Socket對象進行通信。代碼如下:
while (true) {
try {
Socket socket = serverSocket.accept();
// 處理socket連接,實現數據傳輸等操作
} catch (IOException e) {
e.printStackTrace();
}
}
執行accept()方法會一直阻塞,直到有連接請求到達。因此通常需要在一個單獨的線程中執行accept()方法。
三、關閉ServerSocket
在不需要監聽連接請求的時候,需要及時關閉ServerSocket。
if (serverSocket != null && !serverSocket.isClosed()) {
try {
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
以上就是Android創建和監聽ServerSocket的基本操作了。可以根據實際需求,加入數據的編解碼等操作,實現設備之間的數據傳輸。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/153444.html