我尝试一台服务器,两台客户端制作Rock Paper Scissors 但我有一个客户无法接受服务器按摩
package exam;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;
public class Server_Game {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(8080);
System.out.println("Active Server");
HashMap<Integer,String> gababo = new HashMap<>();
List<Socket> player = new ArrayList();
int count =0;
while(true){
Socket socket =server.accept();
OutputStream out = socket.getOutputStream();
DataOutputStream dos = new DataOutputStream(out);
player.add(socket);
String players = player.get(count).toString();
gababo.put(count, players);
count++;
System.out.println(count + "th player connet ");
dos.writeUTF(count + "th player connet");
dos.flush();
在听到
中尝试两个客户端连接成功 if(gababo.size() >=2) {
Scanner sc = new Scanner(System.in);
System.out.println("2player Come");
dos.writeUTF("Start");
dos.writeUTF("1.scis 2.Rock 3.Paper ");
dos.writeUTF(">>>>>");
dos.flush();
听到它没有激活一个客户端显示文本 只有一个文本显示
InputStream in = player.get(0).getInputStream();
DataInputStream dis = new DataInputStream(in);
int choice = dis.readInt();
InputStream in2 = player.get(1).getInputStream();
DataInputStream dis2 = new DataInputStream(in2);
int choice2 = dis2.readInt() ;
if(choice ==1) {
if(choice2 == 1) {
dos.writeUTF("draw.");
dos.flush();
}else if(choice2 == 2) {
dos.writeUTF("2play win.");
dos.flush();
}else if(choice2 == 3) {
dos.writeUTF("1play win.");
dos.flush();
}else {
dos.writeUTF("strenge number.");
dos.flush();
}
}else if(choice ==2) {
if(choice2 == 1) {
dos.writeUTF("1play win");
dos.flush();
}else if(choice2 == 2) {
dos.writeUTF("draw.");
dos.flush();
}else if(choice2 == 3) {
dos.writeUTF("2play win.");
dos.flush();
}else {
dos.writeUTF("strenge number");
dos.flush();
}
}else if(choice ==3){
if(choice2 == 1) {
dos.writeUTF("2player win.");
dos.flush();
}else if(choice2 == 2) {
dos.writeUTF("1player win.");
dos.flush();
}else if(choice2 == 3) {
dos.writeUTF("draw");
dos.flush();
}else {
dos.writeUTF("Strenge number");
dos.flush();
}
}
}
}
}
}
我正在寻找其他网站,但我无法找到解决方案 否则问题未使用列表