程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java Socket編程(二)-2

Java Socket編程(二)-2

編輯:關於JAVA

在Java中面向連接的類有兩種形式,它們分別是客戶端和服務器端.客戶端這一部分是最簡單的,所以我們先討論它.

列表9.1列出了一個簡單的客戶端的程序.它向一個服務器發出一個請求,取回一個Html文檔,並把它顯示在控制台上.

9.1一個簡單的socket客戶端

import Java.io.*;

import Java.Net.*;

/**

* 一個簡單的從服務器取回一個Html頁面的程序

* 注意:merlin是本地機器的名字

*/

public class SimpleWebClIEnt {

public static void main(String args[])

{

try

{

// 打開一個客戶端socket連接

Socket clIEntSocket1 = new Socket("merlin", 80);

System.out.println("Client1: " + clIEntSocket1);

// 取得一個網頁

getPage(clIEntSocket1);

}

catch (UnknownHostException uhe)

{

System.out.println("UnknownHostException: " + uhe);

}

catch (IOException ioe)

{

System.err.println("IOException: " + ioe);

}

}

/**

*通過建立的連接請求一個頁面,顯示回應然後關閉socket

*/

public static void getPage(Socket clIEntSocket)

{

try

{

// 需要輸入和輸出流

DataOutputStream outbound = new DataOutputStream(

clIEntSocket.getOutputStream() );

DataInputStream inbound = new DataInputStream(

clIEntSocket.getInputStream() );

// 向服務器發出HTTP請求

outbound.writeBytes("GET / HTTP/1.0 ");

// 讀出回應

String responseLine;

while ((responseLine = inbound.readLine()) != null)

{

// 把每一行顯示出來

System.out.println(responseLine);

if ( responseLine.indexOf("") != -1 )

break;

}

// 清除

outbound.close();

inbound.close();

clIEntSocket.close();

}

catch (IOException ioe)

{

System.out.println("IOException: " + ioe);

}

}

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved