java编写服务器_java编写一个简单的回射服务器
全部代碼
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Client {
// 搭建客戶端
public static void main(String[] args) throws IOException {
try {
// 1、創建客戶端Socket,指定服務器地址和端口
Socket socket=new Socket("127.0.0.1", 5209);
System.out.println("客戶端啟動成功");
// 2、獲取輸出流,向服務器端發送信息
// 向本機的5209端口發出客戶請求
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
// 由系統標準輸入設備構造BufferedReader對象
PrintWriter write = new PrintWriter(
socket.getOutputStream());
// 由Socket對象得到輸出流,并構造PrintWriter對象
//3、獲取輸入流,并讀取服務器端的響應信息
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
// 由Socket對象得到輸入流,并構造相應的BufferedReader對象
String readline;
readline = br.readLine(); // 從系統標準輸入讀入一字符串
while (!readline.equals("end")) {
// 若從標準輸入讀入的字符串為 "end"則停止循環
write.println(readline);
// 將從系統標準輸入讀入的字符串輸出到Server
write.flush();
String msg = in.readLine();
System.out.println("server:" + msg);
// 從Server讀入一字符串,并打印到標準輸出上
readline = br.readLine(); // 從系統標準輸入讀入一字符串
} // 繼續循環
//4、關閉資源
write.close(); // 關閉Socket輸出流
in.close(); // 關閉Socket輸入流
socket.close(); // 關閉Socket
} catch (Exception e) {
// 出錯,打印出錯信息
System.out.println("can not listen to:" + e);
}
}
}
class Server {
//搭建服務器端
public static void main(String[] args) throws IOException{
//創建一個服務器端Socket,即SocketService
new Server().start();;
}
public void start(){
try{
ServerSocket server=null;
try{
//指定綁定的端口,并監聽此端口。
//創建一個ServerSocket在端口5209監聽客戶請求
server=new ServerSocket(5209);
System.out.println("服務器啟動成功");
}catch(Exception e) {
//出錯,打印出錯信息
System.out.println("沒有啟動監聽:"+e);
}
Socket socket=null;
try{
//調用accept()方法開始監聽,等待客戶端的連接
//使用accept()阻塞等待客戶請求,有客戶
//請求到來則產生一個Socket對象,并繼續執行
socket=server.accept();
}catch(Exception e) {
//出錯,打印出錯信息
System.out.println("Error."+e);
}
//3、獲取輸入流,并讀取客戶端信息
BufferedReader in=new BufferedReader(
new InputStreamReader(socket.getInputStream()));
//由Socket對象得到輸入流,并構造相應的BufferedReader對象
PrintWriter writer=new PrintWriter(socket.getOutputStream());
//由Socket對象得到輸出流,并構造PrintWriter對象
String msg = in.readLine();
while (!msg.equals("end")) {
System.out.println("client:" + msg);
writer.println(msg);
writer.flush();
msg = in.readLine();
}
//5、關閉資源
writer.close(); //關閉Socket輸出流
in.close(); //關閉Socket輸入流
socket.close(); //關閉Socket
server.close(); //關閉ServerSocket
}catch(Exception e) {//出錯,打印出錯信息
System.out.println("Error."+e);
}
}
}
總結
以上是生活随笔為你收集整理的java编写服务器_java编写一个简单的回射服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mtk android 5.1 logo
- 下一篇: 一加桌面3.0 android8,一加手