2024-11-12






클라이언트의 연결을 기다리는 중...
클라이언트에서 보낸 문자 >>> Hello
문자 보내기 >>> Java
클라이언트에서 보낸 문자 >>> Hello
문자 보내기 >>> Python
클라이언트에서 보낸 문자 >>> Hello
문자 보내기 >>>
문자 보내기 >>> Hello
서버에서 받은 문자 >>> Java
문자 보내기 >>> Hello
서버에서 받은 문자 >>> Python
문자 보내기 >>> Hello
서버에서 받은 문자 >>> Java script
문자 보내기 >>>
package exam;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class ServerExam {
public static void main(String[] args) {
BufferedReader in = null;
BufferedWriter out = null;
ServerSocket listener = null;
Socket socket = null;
Scanner sc = new Scanner(System.in);
try {
listener = new ServerSocket();
listener.bind(new InetSocketAddress("localhost", 7777));
System.out.println("클라이언트의 연결을 기다리는 중...");
socket = listener.accept();
in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
out = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream()));
while (true) {
// 클라이언트로부터 받은 한 줄 문자 읽기.
String inputMsg = in.readLine();
if (inputMsg.equalsIgnoreCase("bye")) {
System.out.println("클라이언트에서 bye로 연결을 종료함...");
break;
}
System.out.println("클라이언트에서 보낸 문자 >>> " + inputMsg);
System.out.println();
System.out.print("문자 보내기 >>> ");
String outputMsg = sc.nextLine();
out.write(outputMsg + "\n");
// out 스트림 버퍼에 있는 모든 문자열 전송
out.flush();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
sc.close();
socket.close();
listener.close();
out.close();
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
package exam;
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class ClientExam {
public static void main(String[] args) {
BufferedReader in = null;
BufferedWriter out = null;
Socket socket = null;
Scanner sc = new Scanner(System.in);
try {
socket = new Socket();
socket.connect(new InetSocketAddress("localhost", 7777));
in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
out = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream()));
while (true) {
System.out.print("문자 보내기 >>> ");
// 서버로 한 줄 문자 보내기.
String outputMsg = sc.nextLine();
if (outputMsg.equalsIgnoreCase("bye")) {
out.write(outputMsg + "\n");
out.flush();
break; // 클라이언트가 "bye" 문자열을 입력한 경우 서버로 문자 전송 후 실행 종료
}
out.write(outputMsg + "\n"); // 문자열을 서버로 보낸다
out.flush();
///// 서버로부터 받은 문자열을 확인을 하자 /////
// 서버로부터 받은 문자 수신 작업.
String inputMsg = in.readLine();
System.out.println("서버에서 받은 문자 >>> " + inputMsg);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
sc.close();
socket.close();
out.close();
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}'Java > 기초 내용 정리' 카테고리의 다른 글
| Java(Example)_DEPT (0) | 2024.12.12 |
|---|---|
| Java(JDBC)_00 (0) | 2024.12.12 |
| Java(Network)_02~3 (0) | 2024.11.12 |
| Java(Network)_01 (0) | 2024.11.12 |
| Java(Lambda)_02 (1) | 2024.11.12 |