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

Java Socket編程之二

編輯:關於JAVA

Java面向連接的類

回憶一個,一個客戶端向一個正在監聽的服務器socket發出一個連接.客戶端的sockets是用Socket類建立的.下面的程序建立了一個客戶端的socket並且連接到了一個主機:

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

第一個參數是你想要連接的主機的名稱,第二個參數是端口號.一個主機名稱指定了目的的名稱.端口號指定了由哪個應用程序來接收.在我們的情況下,必須指定80,因為它是默認的HTTP協議的端口.另外的知名的端口列在表9.1中,看:

知名的端品:

echo 7

daytime 13

daytime 13

FTP 21

telnet 23

smtp 25

finger 79

http 80

pop3 110

因為Socket類是面向連接的,它提供了一個可供讀寫的流接口.Java.io包中的類可以用來訪問一個已連接的socket:

DataOutputStream outbound = new DataOutputStream(

clIEntSocket.getOutputStream() );

DataInputStream inbound = new DataInputStream( clIEntSocket.getInputStream()

);

一旦流建立了,一般的流操作就可以做了:

outbound.writeBytes("GET / HTTP/1.0\r\n\r\n);

String responseLine;

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

{

System.out.println(responseLine);

}

以上的小程序請求了一個WEB頁面並且把它顯示出來.當程序完成之後,連接必須關閉.

outbound.close();

inbound.close();

clIEntSocket.close();

注意socket流必須首先關閉.所有的的socket流必須在socket關閉之前關閉.這個小程序非常地簡單,但是所有的客戶端程序都必須遵首下面的基本的步驟:

1.建立客戶端socket連接.

2.得到socket的讀和寫的流.

3.利用流.

4.關閉流.

5.關閉socket.

使用一個服務器端的socket只是有一點復雜,它將在下面講到.

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