반응형
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();
}
}
}
반응형
'IT > Programming' 카테고리의 다른 글
[JAVA] Server&Client 통신 - Server (0) | 2023.04.19 |
---|---|
[JAVA] Quiz Server&Client - 구구단 문제 - Client (0) | 2023.04.19 |
[JAVA] String toLowerCase() (0) | 2023.04.19 |
<리팩토링> 소스코드 리팩토링 기본 개념, 두번째 (0) | 2023.04.19 |
<리팩토링> 소스코드 리팩토링 기본, 첫번째 (0) | 2023.04.19 |