Java Socket Exception : java.net.SocketTimeoutException: Accept timed out

我必须在一个游戏中创建一个AI。

为此,我必须连接到一个服务器,但无法连接..

我来解释一下。我的老师拿走了我的Java项目并执行了Launching.class。在Launching.java和Connection.java文件中,我尝试连接到服务器。

当我的老师执行文件时,参数是:服务器名称、服务器端口号和地图大小(这里不重要)

我创建了一个本地服务器,一切正常,但当我发送文件并且我的老师测试时,他告诉我有一个错误:

服务器:无法为第二个玩家(编号1)进行服务器的accept()操作;java.net.SocketTimeoutException: Accept timed out

我的代码很简单,我想,所以我请求帮助。

为了连接,我使用了两个文件“Launching.java”和“Connection.java”,如下所示:

Launching.java

public class Launching{    private String addressIP;    private int port;    public Launching()    {        this.addressIP = "";        this.port = 0;    }    public void setAddressIP(String addressIP)    {        this.addressIP = addressIP;    }    public String getAddressIP()    {        return this.addressIP;    }    public void setPort(int port)    {        this.port = port;    }    public int getPort()    {        return this.port;    }    public static void main(String[] parameters) throws Exception    {        Launching parametersLaunching = new Launching();        parametersLaunching.addressIP = parameters[0];        parametersLaunching.port = Integer.parseInt(parameters[1]);        try        {            Connection connection = new Connection(parametersLaunching.addressIP, parametersLaunching.port);            connection.setInputStream(connection.getSocket());            connection.setOutputStream(connection.getSocket());            if(connection.getInputStream() != null && connection.getOutputStream() != null)            {                Game game = new Game(connection.getInputStream(), connection.getOutputStream(), Integer.parseInt(parameters[2]));                game.start();            }            if(connection.getInputStream() != null)            {                connection.getInputStream().close();            }            if(connection.getOutputStream() != null)            {                 connection.getOutputStream().close();            }            if(connection.getSocket() != null)            {                connection.getSocket().close();            }            connection.getSocket().close();        }        catch(UnknownHostException exception)        {            exception.printStackTrace();        }        catch(IOException exception)        {            exception.printStackTrace();        }    }}

Connection.java

package network;import java.io.*;import java.net.*;public class Connection{       private Socket socket;    private InputStream inputStream;    private OutputStream outputStream;    public Connection(String adressIP, int port) throws Exception    {        InetAddress adress = InetAddress.getByName("adressIP");        this.socket = new Socket(adress, port);        this.inputStream = null;        this.outputStream = null;    }    public InputStream getInputStream()    {        return this.inputStream;    }    public OutputStream getOutputStream()    {        return this.outputStream;    }    public Socket getSocket()    {        return this.socket;    }    public void setInputStream(Socket socket) throws IOException    {        this.inputStream = socket.getInputStream();    }    public void setOutputStream(Socket socket) throws IOException    {        this.outputStream = socket.getOutputStream();    }   }

那么你有帮助我的想法吗?我希望保留这个架构..


回答:

InetAddress adress = InetAddress.getByName("adressIP");

这总是将字符串 "adressIP" 赋值给 adress,而不是参数 adressIP

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注