多人Java游戏,分裂问题

多人Java游戏,分裂问题,java,networking,client-server,Java,Networking,Client Server,我有一个多人java游戏(四个客户端和一个服务器),所有类都在一个文件中。我决定重写主类,并将代码保存在多个较短的类中。一切似乎都很好(没有语法错误或运行时错误),从服务器端看似乎很好,但从客户端看不好 我决定使用Print语句来解决这个bug,客户端似乎无法处理以下代码: public class ServerManager implements Runnable { public static BufferedReader in; public static PrintWriter o

我有一个多人java游戏(四个客户端和一个服务器),所有类都在一个文件中。我决定重写主类,并将代码保存在多个较短的类中。一切似乎都很好(没有语法错误或运行时错误),从服务器端看似乎很好,但从客户端看不好 我决定使用Print语句来解决这个bug,客户端似乎无法处理以下代码:

public class ServerManager implements Runnable {


public static BufferedReader in;

public static PrintWriter out;


private Socket socket;

@Override
public void run() {
    try
    {
        socket = Connection.connectToServer(GameStatus.serverIP, GameStatus.serverPort);
        if(socket != null) {
            return;
        } else {

        }

        in = new BufferedReader(new InputStreamReader(
            socket.getInputStream()));
        out = new PrintWriter(socket.getOutputStream(), true);
此特定区域的应用程序工作版本如下所示

BufferedReader in;
PrintWriter out;
public static void main(String[] args) {
....
....
....
private class startClient implements Runnable {
        private Socket socket;

        @Override
        public void run() {
            try
            {
                try {
                    socket = new Socket(serverIP, serverPort);
                } catch (Exception ex) {

                    return;
                }
                in = new BufferedReader(new InputStreamReader(
                    socket.getInputStream()));
                out = new PrintWriter(socket.getOutputStream(), true);

我的代码有什么问题吗?

好吧,我在套接字连接的开头尝试了一下,在类的末尾捕获了异常,只是尝试了一下,并在套接字连接之后保留了捕获,结果成功了

     try
    {
        try{
        socket = Connection.connectToServer(GameStatus.serverIP, GameStatus.serverPort);
        //if(socket != null) {
            //return;
        //} else {

    //  }
        } catch (Exception ex){
            JOptionPane.showMessageDialog(null, "Can not connect to server!");
            if(ex.toString().trim().equals("java.net.SocketException: Connection reset"))
            {
                JOptionPane.showMessageDialog(null, "Server is down!\nThe game will now exit...");
                System.exit(0);
            }
            //else
        }
    //}

        in = new BufferedReader(new InputStreamReader(
            socket.getInputStream()));
        out = new PrintWriter(socket.getOutputStream(), true);