목차
1. 클라이언트 – 서버 흐름도
2. 클라이언트 입력 및 출력
3. 서버 진행과정
4. 후기
5. 소스코드
5.1 서버
5.2 클라이언트
2. 클라이언트 입력 및 출력
3. 서버 진행과정
4. 후기
5. 소스코드
5.1 서버
5.2 클라이언트
본문내용
if(buf[2]==chcode[2]) S++;
if(buf[0]==chcode[1]) B++;
if(buf[0]==chcode[2]) B++;
if(buf[1]==chcode[2]) B++;
if(buf[1]==chcode[0]) B++;
if(buf[2]==chcode[0]) B++;
if(buf[2]==chcode[1]) B++;
if(S==0 && B==0)
resultSentence = "Out\n"; // 일치x
else if(S==3)
{
resultSentence = "Success\n"; //일치O
}
else //스트라이크, 볼 결과 생성
{
Sstring = Integer.toString(S);
Bstring = Integer.toString(B);
resultSentence = "S: " + Sstring + " " + "B: " + Bstring + "\n";
}
outToClient.writeBytes(resultSentence); //결과 클라이언트에 전송
S=0;B=0;
}
}
}
5.2 클라이언트
import java.io.*;
import java.net.*;
class TCPClient {
public static void main(String argv[]) throws Exception
{
String sentence; //입력 스트링
String serverSentence; //서버로부터 응답 스트링
int chance=10; //기회
char []an=new char[3]; //입력 문자열 변환
do{
Socket clientSocket = new Socket("localhost", 6789);
System.out.println("Chance: "+chance);
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
sentence = inFromUser.readLine();
for(int i=0;i<3;i++)
an[i]=sentence.charAt(i); //입력 스트링 변환( 중복 검사 위해 )
while(an[0]==an[1] || an[0]==an[2] || an[1]==an[2]) // 중복 검사
{
System.out.println("input error");
inFromUser = new BufferedReader(new InputStreamReader(System.in));
sentence = inFromUser.readLine();
for(int i=0;i<3;i++)
an[i]=sentence.charAt(i);
}
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
outToServer.writeBytes(sentence+'\n'); //서버로 스트링 전송
BufferedReader inFromServer = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
serverSentence = inFromServer.readLine(); //서버로부터의 스트링
System.out.println("FROM SERVER: " + serverSentence);
clientSocket.close();
chance--;
if(serverSentence.equals("Success"))
break;
} while(chance!=0);
if(chance==0)
System.out.println("false");
}
}
if(buf[0]==chcode[1]) B++;
if(buf[0]==chcode[2]) B++;
if(buf[1]==chcode[2]) B++;
if(buf[1]==chcode[0]) B++;
if(buf[2]==chcode[0]) B++;
if(buf[2]==chcode[1]) B++;
if(S==0 && B==0)
resultSentence = "Out\n"; // 일치x
else if(S==3)
{
resultSentence = "Success\n"; //일치O
}
else //스트라이크, 볼 결과 생성
{
Sstring = Integer.toString(S);
Bstring = Integer.toString(B);
resultSentence = "S: " + Sstring + " " + "B: " + Bstring + "\n";
}
outToClient.writeBytes(resultSentence); //결과 클라이언트에 전송
S=0;B=0;
}
}
}
5.2 클라이언트
import java.io.*;
import java.net.*;
class TCPClient {
public static void main(String argv[]) throws Exception
{
String sentence; //입력 스트링
String serverSentence; //서버로부터 응답 스트링
int chance=10; //기회
char []an=new char[3]; //입력 문자열 변환
do{
Socket clientSocket = new Socket("localhost", 6789);
System.out.println("Chance: "+chance);
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
sentence = inFromUser.readLine();
for(int i=0;i<3;i++)
an[i]=sentence.charAt(i); //입력 스트링 변환( 중복 검사 위해 )
while(an[0]==an[1] || an[0]==an[2] || an[1]==an[2]) // 중복 검사
{
System.out.println("input error");
inFromUser = new BufferedReader(new InputStreamReader(System.in));
sentence = inFromUser.readLine();
for(int i=0;i<3;i++)
an[i]=sentence.charAt(i);
}
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
outToServer.writeBytes(sentence+'\n'); //서버로 스트링 전송
BufferedReader inFromServer = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
serverSentence = inFromServer.readLine(); //서버로부터의 스트링
System.out.println("FROM SERVER: " + serverSentence);
clientSocket.close();
chance--;
if(serverSentence.equals("Success"))
break;
} while(chance!=0);
if(chance==0)
System.out.println("false");
}
}
키워드
추천자료
- [전산] TETRIS 소스 분석 설명서1
- 댄 브라운의 다빈치코드
- 컬처코드를 읽고서
- 최적의 길찾기 C# 코드
- [컴퓨터 프로그래밍] 네트워크 숫자야구
- Filter Hook Driver를 이용해 개발한 윈도우XP 기반의 방화벽 (소스 포함)
- 컴퓨터 - c++이용한 볼링소스
- [컴퓨터이해 1학년 공통] 1. 스마트 폰의 최신동향 2. QR코드에 대하여
- 컴퓨터의이해1공통) 스마트폰 & QR코드에 대하여 서술 - 스마트폰의 정의와 대표적인 스...
- [컴퓨터의 이해 공통] 1.스마트폰 현재 기준 ①대표적인 스마트폰 3개 이상 선정 이유와 각 운...
- [컴퓨터의이해]본인이 사용 중이거나 또는 최신 스마트폰을 1 개 선정하고 운영체제 이름과 ...
- 공부에 필요한 소프트웨어(C, C++ 프로그램) 코드 판매합니다.
- [컴퓨터의이해] 1) 컴퓨터의 입력장치 출력장치 중앙처리장치 기억장치 설명 2) 2종류 이상의...
소개글