IT/Programming / / 2023. 4. 19. 10:25

[JAVA] Quiz Server&Client - 구구단 문제 - Server

반응형
package dayday20;

import java.io.*;
import java.net.*;
/*
 * 구구단 문제를 제출한다(무한개....)
 * 
 */
public class Server2 {
	public static void main(String[] args) {

		try {
			int port = 1004;
			ServerSocket ss = new ServerSocket(port);
			Socket s = ss.accept();
			System.out.println("클라이언트가 접속했습니다.");
			

			//출력
			OutputStream out = s.getOutputStream();
			PrintWriter pw = new PrintWriter(out);
			System.out.println("출력스트림 생성완료");

			//입력
			InputStream in = s.getInputStream();
			InputStreamReader isr = new InputStreamReader(in);
			BufferedReader br = new BufferedReader(isr); //한문장씩 받아옴
			System.out.println("입력스트림 생성완료");
			
			String quiz = "";

			int n1 = 0;
			int n2 = 0;
			while(true){
				n1 = (int)(Math.random()*10)+1;
				n2 = (int)(Math.random()*10)+1;
				quiz = n1 + " X " + n2 + "= ? ";
				pw.println(quiz);
				pw.flush();
				System.out.println("보낸 문제 : " + quiz);
				
				String answer = br.readLine();
				if(answer == null || answer.equals("0")){
					System.out.println("클라이언트 종료 해제");
					return;//리턴해도 close됨.
				}else if(answer.equals("0")){
					pw.println("접속을 종료합니다.");
					br.close();
					isr.close();
					in.close();
					pw.close();
					out.close();
					ss.close();
					return;
				} else{
					System.out.println("클라이언트 입력 값 : "+answer);
					int dab = Integer.parseInt(answer);
					
					if(dab == n1*n2){
						pw.append("정답!");
						pw.flush();
					}else{
						pw.append("땡!");
						pw.flush();
					}
				}
			}
			
			

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유