0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 47
1

Программа на вашем хост-компьютере разорвала установленное подключение

26.11.2020, 16:42. Показов 6172. Ответов 0
Метки нет (Все метки)

Пишу клиент серверное приложение, при входе в аккаунт и попытке что-нибудь сделать вылетает ошибка из заголовка, также криво работает проверка при входе, просто вводится логин и появляется меню
public class Client {

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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
    public static void main(String[] args) throws IOException {
        try(Creator creator = new Creator("127.0.0.1", 8002))
        {
            System.out.println("Клиент подключился к серверу");
            System.out.println("Добро пожаловать");
            System.out.println("1. Вход");
            System.out.println("2. Регистрация");
            Scanner in = new Scanner(System.in);
            int sw = 21;
            sw = in.nextInt();
            creator.writeLine(Integer.toString(sw));
            switch (sw)
            {
                case 1:
                    System.out.println("Введите логин");
                    creator.writeLine(in.nextLine());
                    System.out.println("Введите пароль");
                    creator.writeLine(in.nextLine());
                    sw = 7919;
                    // switch
                    System.out.println("1. Создать заметку");
                    System.out.println("2. Посмотреть заметки");
                    System.out.println("3. Посмотреть конкретную заметку");
                    System.out.println("4. Удалить заметку");
                    System.out.println("5. Дать доступ другому пользователю");
                    while(sw!=0) {
                        sw =in.nextInt();
                        creator.writeLine(Integer.toString(sw));// выбор case
                        switch(sw) {
                            case 1: {
                                System.out.println("Введите название заметки");
                                creator.writeLine(in.next());
                                System.out.println("Введите заметку");
                                creator.writeLine(in.nextLine());
 
                                break;
                            }
                            case 2:
                                System.out.println(creator.readLine());
                                break;
 
                            case 3:
                                System.out.println(creator.readLine());
                                System.out.println("Введите заметку");
                                creator.writeLine(in.nextLine());
                                System.out.println(creator.readLine());
                                break;
 
                            case 4:
                                System.out.println("Введите навание заметки которую хотите удалить");
                                creator.writeLine(in.nextLine());
                                System.out.println(creator.readLine());
                                break;
 
                            case 5:
                                int k = Integer.parseInt(creator.readLine());
                                for (int i=0; i<k; i++) {
                                System.out.println("Логин " + creator.readLine());
                                }
                                System.out.println("Введите имя пользователя");
                                System.out.println(creator.readLine());
                                creator.writeLine(in.nextLine());
 
                        }
                    }
                    break;
                case 2:
                    System.out.println("Придумайте логин, пароль");
                    creator.writeLine(in.next());
                    creator.writeLine(in.next());
                    break;
            }
        }
        catch(IOException e) {
            e.printStackTrace();
        }
 
    }
}


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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
public class Server {
 
    public static void main(String[] args) {
        Logger logger = Logger.getLogger("Server");
        try (ServerSocket server = new ServerSocket(8002)) {
            System.out.println("Сервер подключен");
            while (true) {
                Creator creator = new Creator(server);
                new Thread(() -> {
                    Map<String, User> users = new HashMap<>();
                    try {
                        users = Functions.deserializeUser();
                    } catch (IOException e) {
                        e.printStackTrace();
                    } catch (ClassNotFoundException e) {
                        e.printStackTrace();
                    }
                    System.out.println("Клиент подключен");
                    int sw = 7919;
                    sw = Integer.parseInt(creator.readLine());
                    switch (sw) {
                        case 1:
                            String name = creator.readLine();
                            if (users.containsKey(name)) {
                                creator.writeLine("Введите пароль");
                                String password = creator.readLine();
                                for (User u1 : users.values()) {
                                    if (u1.getPassword().equals(password)) {
                                        creator.writeLine("Вход выполнен");
                                        User u = new User(name, password);
                                        Map<String, Note> notesMap = null;
                                        sw = 7919;
                                        while (sw != 0) {
                                            sw = Integer.parseInt(creator.readLine());
                                            switch (sw) {
                                                case 1: {
                                                    Note noteUser = new Note("0", "0");
                                                    String nametask = creator.readLine();
                                                    String texttask = creator.readLine();
                                                    noteUser.setName(nametask);
                                                    noteUser.setText(texttask);
                                                    notesMap.put(noteUser.getName(), noteUser);
                                                    try {
                                                        serializeUserNote(u, notesMap);
                                                    } catch (IOException ioException) {
                                                        ioException.printStackTrace();
                                                    }
                                                    creator.writeLine("Успешно");
                                                    break;
                                                }
                                                case 2:
                                                    for (Map.Entry<String, Note> item : notesMap.entrySet()) {
                                                        creator.writeLine("Название: " + item.getKey() + "Заметка: \n" + item.getValue().getText());
                                                    }
                                                    break;
 
 
                                                case 3:
                                                    for (Map.Entry<String, Note> item : notesMap.entrySet()) {
                                                        creator.writeLine("Название: %s\n" + item.getKey());
                                                    }
                                                    String x3 = creator.readLine();
                                                    if (notesMap.containsKey(x3)) {
                                                        creator.writeLine("Заметка: \n" + notesMap.get(x3));
                                                    } else {
                                                        System.out.println("Заметка не найдена");
                                                        break;
                                                    }
                                                    break;
 
 
                                                case 4:
                                                    for (Map.Entry<String, Note> item : notesMap.entrySet()) {
                                                        creator.writeLine("Название: " + item.getKey() + "Заметка: \n" + item.getValue().getText());
                                                    }
                                                    String x = creator.readLine();
                                                    if (notesMap.containsKey(x)) {
                                                        notesMap.remove(x);
                                                        try {
                                                            serializeUserNote(u, notesMap);
                                                        } catch (IOException ioException) {
                                                            ioException.printStackTrace();
                                                        }
                                                    } else {
                                                        creator.writeLine("Такой заметки нет попробуйте еще раз");
                                                        break;
                                                    }
                                                    break;
 
 
                                                case 5:
                                                    for (Map.Entry<String, User> item : users.entrySet()) {
                                                        creator.writeLine("Имя пользователя:  \n" + item.getKey());
                                                    }
                                                    String string = creator.readLine();
                                                    for (User user : users.values()) {
                                                        if (users.containsKey(string)) {
                                                            Map<String, Note> anotherUserNotes = null;
                                                            try {
                                                                anotherUserNotes = deserializeNote(user);
                                                            } catch (IOException ioException) {
                                                                ioException.printStackTrace();
                                                            } catch (ClassNotFoundException classNotFoundException) {
                                                                classNotFoundException.printStackTrace();
                                                            }
                                                            for (Map.Entry<String, Note> item : notesMap.entrySet()) {
                                                                anotherUserNotes.put(item.getKey(), item.getValue());
                                                            }
                                                            try {
                                                                serializeUserNote(user, anotherUserNotes);
                                                            } catch (IOException ioException) {
                                                                ioException.printStackTrace();
                                                            }
                                                        } else if (!users.containsKey(string)) {
                                                            creator.writeLine("Пользователя с таким именем не существует");
                                                            break;
                                                        }
                                                    }
                                                    break;
                                            }
                                        }
                                    } else {
                                        creator.writeLine("Пароль не найден");
                                    }
                                }
                            } else {
                                creator.writeLine("Логин не найден");
                            }
                            break;
                        case 2:
                            User u = new User(creator.readLine(), creator.readLine());
                            users.put(creator.readLine(), u);
                            break;
                    }
                    try {
                        serializeUser(users);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    try {
                        creator.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }).start();
 
 
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}
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
63
64
65
public class Creator implements Closeable{
    private final Socket socket;
    private final BufferedReader reader;
    private final BufferedWriter writer;
 
    public Creator(String ip, int port) {
        try {
            this.socket = new Socket(ip, port);
            this.reader = createReader();
            this.writer = createWriter();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
 
    public Creator(ServerSocket server) {
        try {
            this.socket = server.accept();
            this.reader = createReader();
            this.writer = createWriter();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
 
    public void writeLine (String message) {
        try {
            writer.write(message);
            writer.newLine();
            writer.flush();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
 
    public String readLine() {
        try {
            return reader.readLine();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
 
    private BufferedWriter createWriter() throws IOException {
 
        return new BufferedWriter(
                new OutputStreamWriter(
                        socket.getOutputStream()));
 
 
    }
 
    private BufferedReader createReader() throws IOException {
 
        return new BufferedReader(
                new InputStreamReader(
                        socket.getInputStream()));
 
    }
    public void close() throws IOException{
        writer.close();
        reader.close();
        socket.close();
    }
}
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
public class Functions {
 
    public static void serializeUser(Map<String, User> userMap) throws IOException {
        ObjectOutputStream objectOutputStream = new ObjectOutputStream(
                new FileOutputStream("Users.txt"));
        objectOutputStream.writeObject(userMap);
        objectOutputStream.close();
    }
 
    public static Map<String, User> deserializeUser() throws IOException, ClassNotFoundException {
        ObjectInputStream objectInputStream = new ObjectInputStream(
                new FileInputStream("Users.txt"));
 
        return (Map<String, User>) objectInputStream.readObject();
    }
 
    public static void serializeUserNote(User user, Map<String, Note> userNotes) throws IOException {
        ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(user.getLogin()));
                objectOutputStream.writeObject(userNotes);
                objectOutputStream.close();
 
    }
 
    public static Map<String,Note> deserializeNote(User user) throws IOException,ClassNotFoundException {
        ObjectInputStream objectInputStream = new ObjectInputStream(
                new FileInputStream(user.getLogin()));
        return (Map<String, Note>) objectInputStream.readObject();
 
 
    }
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2020, 16:42
Ответы с готовыми решениями:

ConnectionAbortedError: [WinError 10053] Программа на вашем хост-компьютере разорвала установленное подключение
Здравствуйте! Сегодня столкнулся с такой проблемой - сервер начал выдавать ошибку в консоль: ...

ConnectionAbortedError: [WinError 10053] Программа на вашем хост-компьютере разорвала установленное подключение
Всех приветствую ! Я пытаюсь автоматизировать свой парсер(допустим включишь его один раз утром и...

Программа не может быть запущена, т.к. на Вашем компьютере установлена программа-эмулятор
При запуске лицензионной детской игровой программы выскакивает сообщение: Программа не может быть...

программа установик обнаружила на вашем компьютере уже установленную версию от Avira
помогите как решить проблему? удалил давно, сейчас новую версию устанавливаю:cry:

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2020, 16:42

Microsoft office 2007 программа установки обнаружила на вашем компьютере более раннюю версию groove"
при установке офииса программа обнаружила на вашем компьютере более раннюю версию groove&quot; удалял...

Какая Windows на вашем компьютере?
Знаю,такой опрос уже был, но был он достаточно давно и многие изменили свой взгляд в...

На вашем компьютере обнаружена подозрительная активность vk.com
Сайт vk.com &quot;предупреждает&quot; о подозрительной активности на моем компьютере. Возможно...

На вашем компьютере обнаружена нелицензионнная версия Windows
У меня этот вирус. Я не могу Заг. Windows. Выскакивает На вашем компьютере обнаружена лицензионная...

на вашем компьютере обнаружена не лицензионная версия Windows!
драсте,у меня возникла проблема с компьютором,вылезло сообщение- центр обеспечения безопасности,где...

на вашем компьютере обнаружена не лицензионная версия Windows!
rfr iuuiuuiioioiкак с этим справится совсем не знаю включаю ком он загружается до рабочего стола...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.