자바 소켓 숫자 맞 추기 게임 실현
4925 단어 JavaSocket숫자 를 알아맞히다
캡 처 실행
Server
Client
전체 코드
Server
import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Random;
import java.util.Scanner;
public class ServerDemo {
private int flag;
public void server() throws IOException {
//
System.out.println(" , 。。。");
PrintWriter out = null;
Scanner getClient = null;
ServerSocket server = null;
Socket client = null;
this.setFlag();
try {
server = new ServerSocket(6666);
//
client = server.accept();
System.out.println(client.getInetAddress() + " 。");
//
out = new PrintWriter(client.getOutputStream()); //
out.println(" (1-100)!!!");
out.flush();//
getClient = new Scanner(client.getInputStream()); //
//
while (getClient.hasNextLine()) {
String returnMsg = null;
String tmp = getClient.nextLine();
if ("e".equals(tmp)) {
break;
} else if ("c".equals(tmp)) {
returnMsg = " (1-100)!!!";
this.setFlag();
} else {
int clientInput = Integer.parseInt(tmp);
if (clientInput > flag) {
returnMsg = " !!!";
} else if (clientInput < flag) {
returnMsg = " !!!";
} else {
returnMsg = " , !!! ( c), ( e)";
}
}
out.println(returnMsg); //
out.flush();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
out.close();
getClient.close();
server.close();
}
}
//
public void setFlag() {
Random r = new Random();
flag = r.nextInt(100);
System.out.println(" :flag = " + flag);
}
public static void main(String[] args) throws IOException {
new ServerDemo().server();
}
}
Client
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
public class ClientDemo {
public void client() throws IOException {
System.out.println(" 。。。");
Socket client = null;
Scanner getKey = null;
Scanner getServer = null;
PrintWriter out = null;
try {
client = new Socket("127.0.0.1", 6666);
getServer = new Scanner(client.getInputStream());
System.out.println(getServer.nextLine());
out = new PrintWriter(client.getOutputStream());
System.out.print(" :");
//
getKey = new Scanner(System.in);
while (getKey.hasNextLine()) {
//
out.println(getKey.nextLine());
out.flush();
try {
System.out.println(" :" + getServer.nextLine());
System.out.print(" :");
} catch (Exception e) {
System.out.print(" !!!");
break;
}
//
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
getKey.close();
getServer.close();
out.close();
client.close();
}
}
public static void main(String[] args) throws IOException {
new ClientDemo().client();
}
}
더 많은 재 미 있 는 클래식 게임 을 통 해 주 제 를 실현 하고 여러분 에 게 공유 합 니 다.C++클래식 게임 모음
python 클래식 게임 모음
python 러시아 블록 게임 집합
JavaScript 클래식 게임 을 계속 합 니 다.
자바 클래식 게임 모음
javascript 고전 게임 모음
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.