91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android socket實現原理詳解 服務端和客戶端如何搭建

發布時間:2020-09-21 01:38:03 來源:腳本之家 閱讀:277 作者:Android_Sunshine_Sun 欄目:移動開發

本文實例為大家分享了Android socket的實現原理,供大家參考,具體內容如下

Socket套接字

是網絡上具有唯一標識的IP地址和端口號組合在一起才能構成唯一能識別的標識符套接字。

socket實現的原理機制:

1、通信的兩端都有Socket

2、網絡通信其實就是Socket間的通信

3、數據在兩個Socket間通過IO傳輸

建立Socket(客戶端)和ServerSocket(服務器端)

建立連接后,通過Socket中的IO流進行數據的傳輸

關閉socket

同樣,客戶端與服務器端是兩個獨立的應用程序。

服務器端思路

1、建立服務器端的socket服務,需要一個端口
2、服務端沒有直接的操作,而是通過accept方法獲取客戶端對象,在通過獲取到的客戶端對象的流和客戶端進行通信
3、通過客戶端獲取流對象的方法,讀取數據或者寫入數據
4、如果服務完成,需要關閉客戶端,然后關閉服務器,但是,一般會關閉客戶端,不會關閉服務器,因為服務端是一直提供服務的

服務端實現代碼

// 創建服務器端
    ServerSocket server = new ServerSocket(5555);

    while(true){
    // 等待連接
    Socket accept = server.accept();

    OutputStream outputStream = accept.getOutputStream();
    outputStream.write("你好,我是服務器!\r\n".getBytes());
    outputStream.flush();

    // 讀取數據
    InputStream inputStream = accept.getInputStream();

    BufferedReader reader = new BufferedReader(new InputStreamReader(
        inputStream));
    System.out.println("服務器:" + reader.readLine());

     outputStream.close();
     inputStream.close();
    }


客戶端思路

1、建立客戶端的Socket服務,并明確要連接的服務器。
2、如果連接建立成功,就表明,已經建立了數據傳輸的通道.就可以在該通道通過IO進行數據的讀取和寫入.該通道稱為Socket流,Socket流中既有讀取流,也有寫入流.
3、通過Socket對象的方法,可以獲取這兩個流
4、通過流的對象可以對數據進行傳輸
5、如果傳輸數據完畢,關閉資源

客戶端實現代碼

 //創建套接字 確定要連接的服務器ip與端口口
    Socket socket=new Socket("172.17.23.77",5555);


    InputStream inputStream = socket.getInputStream();
    BufferedReader br=new BufferedReader(new InputStreamReader(inputStream));
    String readLine = br.readLine();
    System.out.println("客戶端:"+readLine);

    //向服務器發送消息
    OutputStream outputStream = socket.getOutputStream();
    outputStream.write("你好\r\n".getBytes());
    outputStream.flush();

    outputStream.close();
    inputStream.close();

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江口县| 广元市| 隆回县| 塔城市| 桐城市| 芦山县| 桂平市| 马尔康县| 梁山县| 将乐县| 汾阳市| 曲沃县| 罗城| 河池市| 固原市| 卢龙县| 永川市| 长宁区| 文化| 都昌县| 滁州市| 鹿邑县| 土默特左旗| 大渡口区| 昭苏县| 昌江| 稷山县| 上虞市| 黄石市| 灵璧县| 桑植县| 景德镇市| 闽清县| 正蓝旗| 巴马| 许昌市| 大城县| 合水县| 新田县| 新建县| 汶川县|