中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

毕节市| 瓦房店市| 松江区| 宝山区| 克拉玛依市| 安义县| 吉安市| 北安市| 华亭县| 田林县| 阿拉善盟| 江达县| 玉门市| 腾冲县| 县级市| 区。| 武威市| 时尚| 广南县| 凉山| 墨江| 宁蒗| 昌邑市| 平乡县| 永德县| 保德县| 广汉市| 滕州市| 怀远县| 常州市| 兰坪| 台江县| 内江市| 太白县| 玉树县| 涞源县| 新巴尔虎右旗| 江陵县| 吉安市| 丰台区| 岳阳县|