Как мне запустить код сервера / клиента? - PullRequest
0 голосов
/ 02 июля 2011

Я только начал писать свой первый серверный / клиентский код и его простую программу чата, но я не знаю, как мне запустить код!

есть файл .class с именем Server Side и файл .class с именем clientSide, они должны быть в разных проектах? как мне запустить его, чтобы у них обоих было соединение вместе? спасибо уже, следующий является частью кодов

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) ;
    }

Ответы [ 2 ]

1 голос
/ 02 июля 2011

Первый запуск сервера

Java-сервер

Затем запустите клиент:

Java-клиент

Но я не вижу, чтобы ваш сервер был привязан к порту 12345. Клиент попытается подключиться к серверу через порт 12345 из-за оператора

client = new Socket(InetAddress.getByName(chatServer),12345) ;

Если порты не совпадают, соединение не будет установлено.

Чтобы привязать сервер к порту 12345, попробуйте следующее:

server = new ServerSocket(12345);

вместо конструктора по умолчанию.

0 голосов
/ 02 июля 2011

Есть очень хороший учебник, где вы все описали:

http://download.oracle.com/javase/tutorial/networking/sockets/clientServer.html

Вы должны сделать 2 файла: один для сервера, один для клиента, в двух разных пакетах: клиент и сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...