--------------------------------------------------------------------------------------------
package jongkyu.chat.model;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class ServerClass2 extends Thread {
Socket clinetSocket = null;
InputStream in = null;
OutputStream out = null;
DataOutputStream dos = null;
DataInputStream dis = null;
Scanner sc = new Scanner(System.in);
int num = 0;
// private HashMap<String,Member> member = new HashMap<String,Member>();
// 메인에는 넣어줄꺼 보내줄꺼 해보겠다.
public void main() {
try {
ServerSocket serverSocket = new ServerSocket(7777);// 포트를 열어주었다, 소켓생성
System.out.println("대기중...");
// 클라이언트 접속 대기 accept();
clinetSocket = serverSocket.accept();// 접속을 기다리고 있을것이다.
System.out.println(clinetSocket.getInetAddress() + "에서 접속했습니다.");
// 서버에서 클라이언트로 메시지를 전송할 Thread 생성
in = clinetSocket.getInputStream();
out = clinetSocket.getOutputStream();
dis = new DataInputStream(in);
dos = new DataOutputStream(out);
// 준비끝
dos.writeUTF("접속에 성공하셨군요!! 퀴즈가 있습니다.");
dos.writeUTF("Quiz를 내보도록 하지요");
dos.writeUTF("우선 그전에! 퀴즈를 풀 준비가 되어있는지 확인해보겠습니다.");
this.start();// 내자신의 멀티스레드 실행하겠다, 상속받은상태기 때문에 가능하다.
while (true) {
String[] select = { "제이름은 뭘까요?", "[넌센스]머리가 세 개면??", "알파벳을 아스키코드값으로 변경한후 모두 더한 값은?" };
String[] answer = { "이윤수", "헤드셋", "734" };
dos.writeUTF(select[num]);
String answercli = dis.readUTF();
if (answercli.equals(answer[num])) {
dos.writeUTF("딩동댕동");
}
else {
System.out.println("바보다 에러출력이다!!");
return;
}
num++;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
in.close();
out.close();
clinetSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
'IT일반과목 > java' 카테고리의 다른 글
자바 네트워크 다중접속 과제 (2) | 2018.08.12 |
---|---|
쓰레드2 (학원수업) (0) | 2018.08.10 |
쓰레드1 (학원수업) (0) | 2018.08.10 |
네트워크 수업3 (야구게임) (과제) (0) | 2018.08.09 |
네트워크 수업2 (0) | 2018.08.09 |