Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android開發Socket編程

Android開發Socket編程

編輯:Android開發實例

  一.什麼是Socket
  1.所謂Socket通常也稱作“套接字”,用於描述IP地址和端口,是一個通信連的句柄
  2.應用程序通常通過“套接字”向網絡發送請求或者應答網絡請求

  二.Socket基本通信模型

  三.使用基於TCP協議的Socket
  一個客戶端要發起一次通信,首先必須知道運行服務器端的主機IP地址。然後由網絡基礎設施利用目標地址,將客戶端發送的信息傳遞到正確的主機上,在Java中,地址可以由一個字符串來定義,這個字符串可以使數字型的地址(比如192.168.1.1),也可以是主機名(example.com)。
  在Java當中InetAddress類代表了一個網絡目標地址,包括主機名和數字類型的地址信息。下面為大家介紹一下基於TCP協議操作Socket的API:

  ServerSocket:這個類是實現了一個服務器端的Socket,利用這個類可以監聽來自網絡的請求。
  a)創建ServerSocket的方法:
  ServerSocket(Int localPort)
  ServerSocket(int localport,int queueLimit)
  ServerSocket(int localport,int queueLimit,InetAddress localAddr)
  創建一個ServerSocket必須指定一個端口,以便客戶端能夠向該端口號發送連接請求。端口的有效范圍是0-65535
  b)ServerSocket操作
  Socket accept()
  void close
  accept()方法為下一個傳入的連接請求創建Socket實例,並將已成功連接的Socket實例返回給服務器套接字,如果沒有連接請求,accept()方法將阻塞等待;
  close方法用於關閉套接字

  Socket:
  a)創建Socket的方法:
  Socket(InetAddress remoteAddress,int remotePort)
  利用Socket的構造函數,可以創建一個TCP套接字後,先連接到指定的遠程地址和端口號。
  b)操作Socket的方法
  InputStream getInputStream()
  OutputStream getOutputStream()
  void close()

  操作TCPsocket的圖示: 

  使用基於UDP的Socket
  a)創建DatagramPacket
  DatagramSocket(byte [] data,int offset,int length,InetAddress remoteAddr,int remotePort)
  該構造函數創建一個數據報文對象,數據包含在第一個參數當中
  b)創建DatagramSocket創建
  DatagramSocket(int localPort)
  以上構造函數將創建一個UDP套接字;
  c)DatagramSocket:發送和接受
  void send(DatagramPacket packet)
  void receive(DatagramPacket packet)
  send()方法用來發送DatagramPacket實例。一旦創建連接,數據報將發送到該套接字所連接的地址;
  receive()方法將阻塞等待,知道接收到數據報文,並將報文中的數據復制到指定的DatagramPacket實例中

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved