package communication;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
/**
- @author Dylaniou
- 需要先啓動服務器
*/
public class Server {
static ServerSocket serverSocket = null;
static int port = 18000;
static Socket socket = null;
public static void main(String[] args) throws IOException {
serverSocket = new ServerSocket(port);
System.out.println(“服務器啓動成功,等待客戶端請求”);
socket = serverSocket.accept();
System.out.println(“收到客戶端請求”);
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = null;
while((line = br.readLine())!=null){
System.out.println(“客戶端:” + line);
}
}
}
package communication;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
/**
- @author Dylaniou
- 需要先啓動服務器
*/
public class Client {
static Socket socket = null;
static int port = 18000;
public static void main(String[] args) throws UnknownHostException, IOException {
socket = new Socket(“localhost”,port);
System.out.println(“客戶端成功建立socket連接”);
//發送命令行消息給服務器
//將命令行字節輸入流轉換爲字符輸入流,利用緩衝字符輸入流讀取命令行消息
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//將socket字節輸出流轉換爲字符輸出流,利用緩衝字符輸出流輸出命令行消息
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
String line =null;
while((line = br.readLine())!=null){
bw.write(line);
bw.newLine();//注意:用於終止輸出行,不然命令行輸入再多內容也無法發送出去
bw.flush();
System.out.println(“客戶端:” + line);
}
}
}