Вопрос у меня к опытным товарищам.
Рылся в примерах, где показывалось как сделать сервер и клиент. Нашел, более-менее удачный, где клиент передавал объект на сервер, сервер обрабатывал объект и пулял обратно клиенту.
После чего сервер прекращал работу.
Код сервера.
public void runServer() throws IOException,ClassNotFoundException
{
ServerSocket serverSocket = new ServerSocket(PORT);
System.out.println("Сокет создан. Ждем соединения...");
Socket socket = serverSocket.accept();
ObjectInputStream objectInputStream = new ObjectInputStream(socket.getInputStream( ));
ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStrea m());
Message message = (Message)objectInputStream.readObject();
System.out.println("Приняли объект: "+message.messageDesc());
doSomething(message);
System.out.println("Обработали объект на сервере: "+message.messageDesc());
objectOutputStream.writeObject(message);
System.out.println("Отправили объект клиенту");
socket.close();
}
Код клиента.
Код клиента.
public static void main(String[] args) throws IOException, UnknownHostException, ClassNotFoundException
{
if ((args.length == 2) && Client.isInteger(args[0]) && Client.isInteger(args[1]))
{
Integer firstNumber = Integer.decode(args[0]);
Integer secondNumber = Integer.decode(args[1]);
Socket socket = new Socket("localhost",Server.PORT);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStrea m());
ObjectInputStream objectInputStream = new ObjectInputStream(socket.getInputStream( ));
Message message = new Message(firstNumber,secondNumber);
System.out.println("message created = " + message.messageDesc());
objectOutputStream.writeObject(message);
Message returnMessage = (Message)objectInputStream.readObject();
System.out.println("Message Result = " + returnMessage.getResult());
socket.close();
}
else
{ System.out.println("не верные аргументы. Используйте: Client <Integer> <Integer>"); }
}
Вопрос: как сделать, чтоб сервер всегда работал, и выключался по команде: либо из консоли либо по нажатию кнопки (скорее всего будет графический интерфейс с функциями перезапуска и выхода)
[upd]
[upd2]
Комментаторам спасибо. Вместо того чтоб отшучиваться, могли бы вот хотя бы эту ссылочку дать и вопрос был бы решен.
