国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Java Socket編程服務器響應客戶端實例代碼

2024-07-13 10:15:31
字體:
來源:轉載
供稿:網友

通過輸入流來讀取客戶端信息,相應的時候通過輸出流來實現。

服務端類的代碼:

java/225794.html">java;">import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.logging.Level;import java.util.logging.Logger;/**  *  * @author whn6325689  */public class server {	//服務器端 	public static void main(String[] args) {		try {			//1.創建一個服務器端Socket,即serverSocket,指定綁定的端口,并監聽此端口。 			ServerSocket serverSocket=new ServerSocket(8888);			//2.調用serverSocket的accept()方法,等待客戶端的連接 			System.out.println("==服務器即將啟動,等待客戶端的連接==");			Socket socket=serverSocket.accept();			//3.獲取輸入流用來讀取客戶端所發出的登錄信息 			InputStream is=socket.getInputStream();			//字節輸入流 			InputStreamReader isr=new InputStreamReader(is);			//將字節流轉化為字符流 			//為字符流添加緩沖 			BufferedReader bufferedReader=new BufferedReader(isr);			String info=null;			//循環讀取客戶端提交的信息 			while((info=bufferedReader.readLine())!=null){				System.out.println("我是服務器,客戶端提交的信息是:"+info);			}			socket.shutdownInput();			//4.獲取輸出流,響應客戶端的請求 			OutputStream os= socket.getOutputStream();			PrintWriter pw=new PrintWriter(os);			//轉化為打印流 			pw.write("歡迎您!");			pw.flush();			//刷新緩存 			//5.關閉相關的資源 			bufferedReader.close();			is.close();			isr.close();			socket.close();			serverSocket.close();			os.close();			pw.close();		}		catch (IOException ex) {			Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex);		}	}}

客戶端類的代碼:

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;import java.util.logging.Level;import java.util.logging.Logger;/**  *  * @author whn6325689  */public class client {	//客戶端 	public static void main(String[] args) {		try {			//1.創建客戶端Socket,指定服務器地址和端口號 			Socket socket=new Socket("127.0.0.1", 8888);			//2.獲取輸出流,用來向服務器發送信息 			OutputStream os=socket.getOutputStream();			//字節輸出流 			//轉換為打印流 			PrintWriter pw=new PrintWriter(os);			pw.write("用戶名:admin;密碼:admin");			pw.flush();			//刷新緩存,向服務器端輸出信息 			//關閉輸出流 			socket.shutdownOutput();			//3.獲取輸入流,用來讀取服務器端的響應信息 			InputStream is=socket.getInputStream();			BufferedReader br=new BufferedReader(new InputStreamReader(is));			String info=null;			while((info=br.readLine())!=null){				System.out.println("我是客戶端,服務器端返回的信息是:"+info);			}			//4.關閉資源 			br.close();			is.close();			pw.close();			os.close();			socket.close();		}		catch (IOException ex) {			Logger.getLogger(client.class.getName()).log(Level.SEVERE, null, ex);		}	}}

先運行服務器端類,之后再運行客戶端類:

服務器端類輸出結果:

==服務器即將啟動,等待客戶端的連接== 我是服務器,客戶端提交的信息是:用戶名:admin;密碼:admin

客戶端類的輸出結果:

我是客戶端,服務器端返回的信息是:歡迎您!

總結

以上就是本文關于Java Socket編程服務器響應客戶端實例代碼的全部內容,希望對大家有所幫助.


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瑞安市| 土默特左旗| 六安市| 乐昌市| 清徐县| 宾川县| 渝中区| 松阳县| 资兴市| 九龙县| 赣州市| 洛浦县| 邢台县| 临颍县| 长丰县| 达尔| 中阳县| 定西市| 治县。| 塔城市| 井研县| 黄龙县| 襄垣县| 时尚| 黔南| 桂林市| 哈尔滨市| 全南县| 南安市| 巴马| 房山区| 潞西市| 青神县| 广昌县| 平凉市| 济南市| 黄骅市| 扎赉特旗| 张北县| 兴化市| 佳木斯市|