當前位置:歷史故事大全網 - 故事大全 - 淺談Java中如何利用socket進行網絡編程(壹)

淺談Java中如何利用socket進行網絡編程(壹)

Socket是網絡上運行的兩個程序間雙向通訊的壹端,它既可以接受請求,也可以發送請求,利用它可以較為方便的編寫網絡上的數據的傳遞。在java中,有專門的socket類來處理用戶的請求和響應。利用SOCKET類的方法,就可以實現兩臺計算機之間的通訊。這裏就介紹壹下在JAVA中如何利用socket進行網絡編程。 在Java中Socket可以理解為客戶端或者服務器端的壹個特殊的對象,這個對象有兩個關鍵的方法,壹個是getInputStream方法,另壹個是getOutputStream方法。getInputStream方法可以得到壹個輸入流,客戶端的Socket對象上的getInputStream方法得到的輸入流其實就是從服務器端發回的數據流。GetOutputStream方法得到壹個輸出流,客戶端Socket對象上的getOutputStream方法返回的輸出流就是將要發送到服務器端的數據流,(其實是壹個緩沖區,暫時存儲將要發送過去的數據)。 程序可以對這些數據流根據需要進行進壹步的封裝。本文的例子就對這些數據流進行了壹定的封裝(關於封裝可以參考Java中流的實現部分)。 壹、建立服務器類 Java中有壹個專門用來建立Socket服務器的類,名叫ServerSocket,可以用服務器需要使用的端口號作為參數來創建服務器對象。ServerSocket server = new ServerSocket(9998) 這條語句創建了壹個服務器對象,這個服務器使用9998號端口。當壹個客戶端程序建立壹個Socket連接,所連接的端口號為9998時,服務器對象server便響應這個連接,並且server.accept()方法會創建壹個Socket對象。服務器端便可以利用這個Socket對象與客戶進行通訊。Socket incoming = server.accept() 進而得到輸入流和輸出流,並進行封裝BufferedReader in = new BufferedReader(new InputStreamReader(incoming.getInputStream())); PrintWriter out = new PrintWriter(incoming.getOutputStream(),true); 隨後,就可以使用in.readLine()方法得到客戶端的輸入,也可以使用out.println()方法向客戶端發送數據。從而可以根據程序的需要對客戶端的不同請求進行回應。

  • 上一篇:孕婦孕期保健問題
  • 下一篇:如何做人,如何做事
  • copyright 2024歷史故事大全網