Форум программистов, компьютерный форум, киберфорум
Java: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
5 / 5 / 3
Регистрация: 07.07.2013
Сообщений: 122

Восстановление связи с сервером

06.11.2015, 15:05. Показов 951. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть некий обработчик входных данных на сервер:
Java
1
2
3
4
5
6
7
8
9
10
11
public class obrabotchik {
    public static void main(String[]args){
        Server server = new Server(25566);
        String line = server.get_value();
        if (line == "ploho"){
            System.out.println("vse ploxo");
        }else {
            System.out.println(line);
        }
    }
}
Где начинается и заканчивается работа сервера который принимает данные:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
 
public class Server {
    private String line = "";
    private DataInputStream in;
    private DataOutputStream out;
    Server(int poht){
        int port = poht;
        try{
            ServerSocket ss = new ServerSocket(port);
                System.out.println(
                        "ServerSocket complete");
            Socket socket = ss.accept();
            in = new DataInputStream(socket.getInputStream());
            out = new DataOutputStream(socket.getOutputStream());
                System.out.println(
                        "Connection complete");
        }
        catch (IOException ioe){
            System.out.println("Problems with getting connection");
            System.out.println(ioe.getMessage());
            System.exit(100500);
        }
    }
    public String get_value(){
        try{
            line = in.readUTF();
            send_value("Roger That");
            return line;
        }
        catch (IOException ioe){
            System.out.println("Failed connection");
            System.out.println(ioe.getMessage());
            return "fuck";
        }
    }
    public void send_value(String str){
        try{
            out.writeUTF(str);
        }
        catch (IOException ioe){
            System.out.println("Failed connection");
            System.out.println(ioe.getMessage());
        }
    }
}
Сервер принимает данные от клиента:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
public class Client {
    private static Socket soc;
    private static DataInputStream in;
    private static DataOutputStream out;
    private static Scanner vvod;
    private static String line = "";
    private static int port;
    private static InetAddress ipAddress;
    public static void main(String[]args){
        port = 25566;
        String address = "127.0.0.1";
        try{
            ipAddress = InetAddress.getByName(address);
            soc = new Socket(ipAddress,port);
            in = new DataInputStream(soc.getInputStream());
            out = new DataOutputStream(soc.getOutputStream());
            vvod = new Scanner(System.in);
 
            while (line.compareTo("end")!=0){
                get();
            }
        }
        catch (UnknownHostException uhe){
            System.out.println("Can't find server");
            System.out.println(uhe.getMessage());
            System.exit(100500);
        }
        catch (IOException ioe){
            System.out.println("Connection Failed\ntrying get connection");
            try{
                ipAddress = InetAddress.getByName(address);
                soc = new Socket(ipAddress,port);
                in = new DataInputStream(soc.getInputStream());
                out = new DataOutputStream(soc.getOutputStream());
                System.out.println("Connection complete");
            }
            catch (IOException nah){
                System.out.println("Final fail");
                System.out.println(nah.getMessage());
                System.exit(322);
            }
            return;
//            System.out.println(ioe.getMessage());
//            System.exit(228);
        }
 
    }
    private static void get()throws IOException{
        try{
            line = vvod.nextLine();
            out.writeUTF(line);
            System.out.println(in.readUTF());
        }
        catch (IOException ioe){
            System.out.println("Connection Failed\ntrying get connection");
            return;
//            System.out.println(ioe.getMessage());
//            System.exit(228);
        }
    }
 
}
Обработчик перестает работать после обработки строки,но клиент должен продолжать работу,конечно ему некуда будет отправлять данные,но если снова включить обработчик,то по данному порту создастся сервер,и данные снова пойдут туда,но почему-то так не происходит.
Почему?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.11.2015, 15:05
Ответы с готовыми решениями:

Внутреняя ошибка связи или нет связи с удалённым сервером
Данные сообщения выходят при загрузке сайтов и поэтому не могу загрузить ни одну страницу.Подскажите что нужно делать чтоб избавиться от...

Проверка связи с сервером
Приветствую Как можно реализовать такую задачу - с интервалом времени в 10 секунд проводить запись в разделенную БД на сервере с...

нет связи с сервером аутентификации
Доброго времени суток! Понимаю, проблема в общем- то и не проблема, наверное: При попытке зайти в гугл: планета земля выдаётся...

1
 Аватар для Doctor_
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
06.11.2015, 15:50
Мне кажется надо метод на клиенте, который в случае дисконекта, будет пробовать подключаться в отдельном потоке. А сейчас у вас так что если связь потеряна, то программа завершает свою жизнь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.11.2015, 15:50
Помогаю со студенческими работами здесь

Настройка связи клиента с сервером БД
Всем добрый день. Я столкнулся с такой проблеммой в файле tnsnames.ora - нет дескриптора соединений с удаленными БД а связь всеравно есть...

Ошибка связи с сервером OLE
Привет. Недавно получил помощь на форуме, что помогло значительно упростить базу данных и начать "шаманить" на формах с объектами...

БД: выскакивает ошибка связи с SQL-сервером
Уважаемые знатоки помогите разобраться с базой данных при компиляции и запуске главной страницы базы данных выскакивает ошибка связи с SQL...

Настройка связи между клиентом и сервером
Пишу курсовую, тема звучит примерно "Программа для текстовых конференций", но хочу еще добавить поддержку голосового (возможно еще и видео)...

Приложение для связи сайта с SQL-сервером
Добрый день! Такая проблемка: стоит задача создать приложение, которое будет помещаться на сервер и служить посредником между сайтом и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru