Android第二十一天

一:TCP/IP協議
    TCP/IP是一個協議族。
    TCP:(Transmission Control Protocol)傳輸控制協議
    IP:(Internet Protocol)互聯網協議
    四層網絡體系結構:物理層(網絡接口層)、互聯網絡層(包含IP協議)、
                     傳輸控制層(TCP、UDP)、應用層(http、ftp)
    
    (重點理解)TCP協議:面向鏈接、可靠的協議。(「三次握手」確保)效率較低,耗費性能。
             通常用於CS(Client-Server客戶端-服務端)結構,用於傳輸重要的數據。
    IP地址:網絡上主機的惟一標識地址。
    端口(port):具備網絡功能的軟件的惟一標識。服務器

二:Socket(套接字)、ServerSocket
    1.Socket:套接字是兩臺機器間通訊的端點。 
      public Socket(String host,int port)
      public OutputStream getOutputStream() 返回此套接字的輸出流。 
      public InputStream getInputStream() 返回此套接字的輸入流。 網絡

    2.ServerSocket:此類實現服務器套接字。
      public ServerSocket(int port)
      public Socket accept() 偵聽並接受到此套接字的鏈接。此方法在鏈接傳入以前一直阻塞。
    
   引入多線程實現服務器端對多個客戶端的鏈接請求。 多線程

三:Socket應用
    1.客戶端發送二進制文件(eg:圖片)到服務端。(詳見代碼)
    2.Socket發送序列化對象。性能

四:UDP (瞭解)
    UDP:用戶數據報協議(User Datagram Protocol)   
         面向無鏈接、不可靠的協議。效率高。
    1.DatagramSocket 此類表示用來發送和接收數據報包的套接字。
      public DatagramSocket(int port)
      send(DatagramPacket p) 發送數據
     void receive(DatagramPacket p) 接收數據,此方法在接收到數據報前一直阻塞。線程

    2.DatagramPacket 此類表示數據報包。
      public DatagramPacket(byte[] buf,int length)
      用來接收長度爲 length 的數據包。 對象

      public DatagramPacket(byte[] buf,int length,InetAddress address,int port)
      用來將長度爲 length 的包發送到指定主機上的指定端口號接口

      public InetAddress getAddress() 返回與當前客戶端通訊的主機IP地址
      public byte[] getData() 返回數據緩衝區。
      public int getLength() 返回將要發送或接收到的數據的長度。
      圖片

    3. InetAddress 表示IP地址
       public static InetAddress getByName(String host)
       public String getHostName() 獲取此IP地址的主機名。 get

相關文章
相關標籤/搜索