程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Android中Socket通信的實現方法概述

Android中Socket通信的實現方法概述

編輯:JAVA編程入門知識

本文實例簡述了Android中Socket通信的實現方法,具體內容如下:

一、socket通信概述

通俗的來說套接字(socket)是通信的基石,是支持TCP/IP協議的網絡通信的基本操作單元。它是網絡通信過程中端點的抽象表示,包含進行網絡通信必須的五種信息:連接使用的協議,本地主機的IP地址,本地進程的協議端口,遠地主機的IP地址,遠地進程的協議端口。

應用層通過傳輸層進行數據通信時,TCP會遇到同時為多個應用程序進程提供並發服務的問題。多個TCP連接或多個應用程序進程可能需要通過同一個TCP協議端口傳輸數據。為了區別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交互提供了套接字(Socket)接口。應用層可以和傳輸層通過Socket接口,區分來自不同應用程序進程或網絡連接的通信,實現數據傳輸的並發服務。

總之一句話,socket是對TCP/IP協議的封裝。

二、使用Socket步驟(client):

1、建立Socket(Tcp)連接

在Java中建立Socket連接是相當容易的事情,使用類庫提供的Socket類就可以實現。

Socketclient=null; //表示客戶端
client=newSocket("localhost",5000);

2、發送數據

PrintStreamout=newPrintStream(socket.getOutputStream()); //發送數據,PrintStream最方便

3、接收返回信息

buf=newBufferedReader(newInputStreamReader(socket.getInputStream()));; //一次性接收完成讀取Socket的輸入流,在其中讀出返回信息

4、關閉Socket

Socket.close();

三、補充:

Socketsever端(非多線程實現)
ServerSocketserver=null; //定義ServerSocket類
Socketclient=null; //表示客戶端
PrintStreamout=null; //打印流輸出最方便
server=newServerSocket(8888); //服務器在8888端口上監聽
System.out.println("服務器運行,等待客戶端連接。");
client=server.accept(); //得到連接,程序進入到阻塞狀態
Stringstr="helloworld"; //表示要輸出的信息
out=newPrintStream(client.getOutputStream());
out.println(str); //向客戶端輸出信息
client.close();
server.close();
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved