使用Socket編程實現服務端和客戶端響應


1:我們先去創建服務端Servier類

public class Server {
public static void main(String[] args) {
try {
//給客戶端一個接口讓其連接
ServerSocket serverSocket=new ServerSocket(8080);
System.out.println("服務器啟動完成...監聽中");
//開啟監聽 等待客戶端的訪問
Socket socket= serverSocket.accept();
//獲取輸入流,因為是客戶端向服務器發送了數據
InputStream inputStream= socket.getInputStream();
//創建一個緩沖流
BufferedReader br=new BufferedReader(new InputStreamReader(inputStream));
String info=null;
while ((info=br.readLine())!=null){
System.out.println("這里是服務端 客戶端說:"+info);
}
//向客戶端做出響應
OutputStream outputStream=socket.getOutputStream();
info="這里是服務端我們接受到了你的消息";
outputStream.write(info.getBytes());
outputStream.flush();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

 


2:我們接下來去創建客戶端Client類
public class Client {
public static void main(String[] args) {
try {

Socket socket=new Socket("localhost",8080);
OutputStream outputStream=socket.getOutputStream();
String info="向服務端發送消息!";
//輸出!(輸出流向服務器發送數據)
outputStream.write(info.getBytes());
socket.shutdownOutput();
//接收服務端的響應
InputStream inputStream1 = socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(inputStream1));
while ((info=br.readLine())!=null){
System.out.println("接受到服務端的響應"+info);
}
//刷新緩沖區
outputStream.flush();
outputStream.close();
inputStream1.close();
socket.close();

} catch (Exception e) {
e.printStackTrace();
}
}
}

3:然后我們先去啟動服務端,服務端顯示啟動,然后再去啟動客戶端,每運行一次客戶端,服務端都會接收到一條消息!,並且回復客戶端!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM