Java 我应该如何运行服务器/客户端代码?

Java 我应该如何运行服务器/客户端代码?,java,networking,client,Java,Networking,Client,我刚开始写我的第一个服务器/客户端代码,这是一个简单的聊天程序,但我不知道该如何运行代码 有一个名为Server-Side的.class文件和一个名为clientSide的.class文件,它们应该在不同的项目中吗?我应该如何运行它,使它们都有一个连接在一起?已经谢谢了,下面是代码的一部分 public void runServer() { try { server = new ServerSocket(); while(t

我刚开始写我的第一个服务器/客户端代码,这是一个简单的聊天程序,但我不知道该如何运行代码

有一个名为Server-Side的.class文件和一个名为clientSide的.class文件,它们应该在不同的项目中吗?我应该如何运行它,使它们都有一个连接在一起?已经谢谢了,下面是代码的一部分

public void runServer()
    {
        try {
            server = new ServerSocket();
            while(true)
            {
                try
                {
                    connection = server.accept();
                    try{
                        output = new ObjectOutputStream(connection.getOutputStream()) ;
                        output.flush(); 
                        input = new ObjectInputStream(connection.getInputStream()) ;
                        sendData(message) ;
                        do
                        {
                            try{
                                message = (String) input.readObject() ;
                                System.out.println(message);
                            }catch(Exception e)
                            {
                                e.printStackTrace() ;
                            }
                        }while(!message.equals("end"));
                    }catch(EOFException e)
                    {
                        e.printStackTrace() ;
                    }   
                }catch(IOException e)
                {
                    e.printStackTrace() ;
                }           
                finally {
                    try{
                    output.close();
                    input.close();
                    connection.close() ;
                    }catch(Exception e)
                    {
                        e.printStackTrace();
                    }
                    }
            }
        }catch(Exception e )
        {
            e.printStackTrace(); 
        }
    }
以下是客户端:

public void runClient()
    {
            try{
            connect() ;
            }catch(Exception e)
            {
                e.printStackTrace();
            }
            try{
                output = new ObjectOutputStream(client.getOutputStream()) ;
                output.flush() ;
                input = new ObjectInputStream(client.getInputStream()) ;
            }catch(IOException e)
            {
                e.printStackTrace() ;
            }
            do
            {
                try{
                    message = (String) input.readObject() ;
                    System.out.println(message);
                }catch(Exception e)
                {e.printStackTrace();}
            }while(!message.equals("end")) ;

    }
    public void connect() throws UnknownHostException, IOException
    {
        client = new Socket(InetAddress.getByName(chatServer),12345) ;
    }
首先运行服务器

java服务器

然后运行客户端:

java客户端

但是我没有看到您的服务器绑定到端口12345。由于该语句,客户端将尝试连接到端口12345上的服务器

client = new Socket(InetAddress.getByName(chatServer),12345) ;
如果端口不匹配,将无法建立连接

要将服务器绑定到端口12345,请尝试以下操作:

server = new ServerSocket(12345);

不是默认的构造函数。

有一个非常好的教程,其中介绍了:

您应该在两个不同的包中执行两个文件,一个用于服务器,一个用于客户端:客户端和服务器