當前位置:才華齋>IT認證>SUN認證>

Server Socket通訊的例項分析

SUN認證 閱讀(1.06W)

Server Socket 通訊一直在不斷的進行相關的測試,在不斷的使用中有很多的問題存在,其實有不少的問題在原始碼中就能找打答案。所謂Server Socket通訊通常也稱作"套接字",用於描述IP地址和埠,是一個通訊鏈的控制代碼。應用程式通常通過"套接字"向網路發出請求或者應答網路請求。

Server Socket通訊的例項分析

Socket和ServerSocket類庫位於包中。Server Socket用於服務器端,Server Socket通訊是建立網路連線時使用的。在 連線成功時,應用程式兩端都會產生一個Socket例項,操作這個例項,完成所需的會話。對於一個網路連線來說,套接字是平等的,並沒有差別,不因為在服 務器端或在客戶端而產生不同級別。不管是Socket還是ServerSocket它們的工作都是通過SocketImpl類及其子類完成的。

下面給出一個最簡單的Server Socket通訊的例子供初學者參考:

伺服器端:

Java程式碼

age et;

rt InputStream;

rt OutputStream;

rt ception;

rt erSocket;

rt et;

ic class ServerDemo {

8./**

9.* 注意:Socket的.傳送與接收是需要同步進行的,即客戶端傳送一條資訊,伺服器必需先接收這條資訊,

10.* 而後才可以向客戶端傳送資訊,否則將會有執行時出錯。

11.* @param args

12.*/

ic static void main(String[] args) {

erSocket ss = null;

{

= new ServerSocket(8888);

17.//伺服器接收到客戶端的資料後,建立與此客戶端對話的Socket

et socket = pt();

19.//用於向客戶端傳送資料的輸出流

OutputStream dos = new DataOutputStream(utputStream());

21.//用於接收客戶端發來的資料的輸入流

InputStream dis = new DataInputStream(nputStream());

tln("伺服器接收到客戶端的連線請求:" + UTF());

24.//伺服器向客戶端傳送連線成功確認資訊

eUTF("接受連線請求,連線成功!");

26.//不需要繼續使用此連線時,關閉連線

e();

e();

29.} catch (IOException e) {

tStackTrace();

31.}

32.}

33.}

Server Socket通訊客戶端:

Java程式碼

age et;

rt InputStream;

rt OutputStream;

rt ception;

rt utStream;

rt et;

rt ownHostException;

ic class ClientDemo {

42./**

43.* @param args

44.*/

ic static void main(String[] args) {

et socket = null;

{

et = new Socket("localhost",8888);

49.//獲取輸出流,用於客戶端向伺服器端傳送資料

OutputStream dos = new DataOutputStream(utputStream());

51.//獲取輸入流,用於接收伺服器端傳送來的資料

InputStream dis = new DataInputStream(nputStream());

53.//客戶端向伺服器端傳送資料

eUTF("我是客戶端,請求連線!");

55.//打印出從伺服器端接收到的資料

tln(UTF());

57.//不需要繼續使用此連線時,記得關閉哦

e();

59.} catch (UnknownHostException e) {

tStackTrace();

61.} catch (IOException e) {

tStackTrace();