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

Сервер и несколько клиентов

22.05.2014, 23:36. Показов 14168. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Скажите, при создании клиент-сервера, к которому подключаются несколько серверов, то такое взаимодействие сервера с каждым клиентом будет происходить сразу после установки подключения клиента или можно как-то остановить работу клиента до того, пока не будет подключено нужное кол-во клиентов? Если да, то какие методы для это предусмотрены?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2014, 23:36
Ответы с готовыми решениями:

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

Сервер -> множество клиентов
День добрый. Пытаюсь решить задачу на сокеты, всё как всегда. Нужно создать сервер, к которому будет подключаться некоторое количество...

Клиент-сервер со множеством клиентов java
Добрый день. Писал программу клиент-сервер со множественным подключением клиентов, но столкнулся с проблемой: не могу с одного сервера...

24
1 / 1 / 0
Регистрация: 21.03.2014
Сообщений: 38
30.05.2014, 21:35  [ТС]
Студворк — интернет-сервис помощи студентам
reisal78, Не правильно, естественно.
Оставил пока так, что в run() принимается только line1, и в итоге getData() выводит 1 2 1 2, 3 4 3 4 и т.д.
C++
1
2
3
4
5
6
7
8
run(){
...
String line1;
line1 = in.readUTF();
Server getData = new Server();
getData.getData(line1, line1, numberThread);
...
}
C++
1
2
3
4
5
6
7
public void getData (String s1, String s2, int number) {
        
      //????
      s2 = s1 + s2;
      System.out.println("Строка: " + s2);
        
    }
getData же опять будет принимать свои значения для каждого потока. Разве нет?
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
31.05.2014, 03:23
Да, я вызвал getData из класса ServerThread с помощью
Java
1
2
Server getData = new Server();
getData.getData(line, line, numberThread);
Вас подводит то, что вы четко не понимаете что такое объекты и как они могут взаимодействовать между собой...

Смотрите, вы в методе main создаете объект
Java
1
Server server = new Server();
а потом в классе ServerThread создаете еще один объект (новый, он не имеет никакого отношения к тому объекту с которым вы начали работать при старте программы)
Java
1
Server getData = new Server();
Вам просто надо передать в класс ServerThread ссылку на уже созданный объект.
Для этого надо изменить конструктор класса ServerThread и соответственно его создание...
Java
1
2
new ServerThread(clientSockets[i], i, sendLine, this)
//this отправит ссылку на текущий объект класса Server
0
1 / 1 / 0
Регистрация: 21.03.2014
Сообщений: 38
04.06.2014, 17:08  [ТС]
Вроде бы переделал конструктор и вызов метода getData. Но все еще сам метод нужно написать. Пока я не могу понять как
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
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
 
//============================================================================== 
class ServerThread implements Runnable {
    private Socket clientSocket;
    private int numberThread;
    private String sendLine;
    private Server server;
    private String InLine1, InLine2;
 
    public ServerThread(Socket clientSocket, int numberThread, String sendLine, String InLine1,String InLine2, Server server) {
        this.clientSocket = clientSocket;
        this.numberThread = numberThread;
        this.sendLine = sendLine;
        this.server = server;
        this.InLine1 = InLine2;
        this.InLine2 = InLine2;
    }
 
    @Override
    public void run() {
        try {
 
            InputStream sin = clientSocket.getInputStream();
            OutputStream sout = clientSocket.getOutputStream();
 
            DataInputStream in = new DataInputStream(sin);
            DataOutputStream out = new DataOutputStream(sout);
 
            System.out.println("\nОтправляем " + (numberThread + 1) + " клиенту!");
 
            // отсылаем клиенту строку = число1_число2
 
            out.writeUTF(sendLine);
            // выводим ее на экран
            System.out.println(sendLine);
 
            // ожидаем пока клиент пришлет строку текста
            in.readUTF();
 
            // отчет о клиенте
            System.out.println("Клиент " + (numberThread + 1) + " получил покет!");
            
            InLine1 = in.readUTF();
 
            server.getData(InLine1, InLine2, numberThread);
 
            in.close();
            out.close();
            sin.close();
            sout.close();
        } catch (IOException e) {
            System.out.println("Ошибка: " + e);
        }
    }
}
 
//==============================================================================
//==============================================================================
//==============================================================================
public class Server {
 
    public String line = "8 7 6 5 4 3 2 1";
    public String[] str = line.split("[ ]");
    public ServerSocket serverSocket;
    public Socket[] clientSockets;
    
    public Server() {
        clientSockets = new Socket[4];
    }
 
    public void connection() throws IOException {
        serverSocket = new ServerSocket(12345);
        System.out.println("Сервер готов к работе!");
        System.out.println("\n---------------------------------------");
    }
    
    public void runApp() throws IOException {
        for (int i = 0; i < clientSockets.length; i++) {
            //Ждем появления клиента
            clientSockets[i] = serverSocket.accept();
            //Инфа о подключенных клиентах
            System.out.println("\nКлиент " + (i + 1) + " подключился!");
            System.out.println("\n" + clientSockets[i]);
        }
 
        for (int i = 0; i < clientSockets.length; i++) {
            String sendLine;
            String InLine1 = null, InLine2 = null;
            sendLine = str[2 * i] + " " + str[2 * i + 1];
            Thread t = new Thread(new ServerThread(clientSockets[i], i, sendLine,InLine1, InLine2, this));
            t.start();
        }
    }
    
    public String getData (String s1, String s2, int number) {
        
      //????
      s2 = s1 + " " + s2;  
      System.out.println("Строка: " + s2);
      
      return s2;
        
    }
 
    public static void main(String[] args) throws IOException {
        Server server = new Server();
        server.connection();
        server.runApp();
    }
}
И вот, что выдает:
Сервер готов к работе!

---------------------------------------

Клиент 1 подключился!

Socket[addr=/127.0.0.1,port=59394,localport=12345]

Клиент 2 подключился!

Socket[addr=/127.0.0.1,port=59395,localport=12345]

Клиент 3 подключился!

Socket[addr=/127.0.0.1,port=59398,localport=12345]

Клиент 4 подключился!

Socket[addr=/127.0.0.1,port=59399,localport=12345]

Отправляем 2 клиенту!

Отправляем 3 клиенту!
4 3
Клиент 3 получил покет!
Строка: 3 4 null

Отправляем 4 клиенту!
2 1
Клиент 4 получил покет!
6 5
Клиент 2 получил покет!
Строка: 5 6 null
Строка: 1 2 null

Отправляем 1 клиенту!
8 7
Клиент 1 получил покет!
Строка: 7 8 null
СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 9 секунды)
0
1 / 1 / 0
Регистрация: 21.03.2014
Сообщений: 38
08.06.2014, 18:40  [ТС]
Можно попробовать создать файл и в него записывать значения
0
1 / 1 / 0
Регистрация: 21.03.2014
Сообщений: 38
11.06.2014, 01:23  [ТС]
Фууух... Ну вот я и добил это чертов клиент-сервер. Набыдлокодил, конечно, но когда время поджимает важно только что результат выдает.

reisal78, спасибо огромное за помощь. Без тебя бы у меня ничего бы не получилось. Говорю прямо, т.к. все эти "+1 Спасибо" вообще ничто.

Только знакомлюсь с java, так что логика программы соответствующая. На комментарии уже сил не осталось.
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
 
//============================================================================== 
class ServerThread implements Runnable {
    private Socket clientSocket;
    private int numberThread;
    private String sendLine;
    private String string;
    private File f1;
    private InputStream sin;
    private OutputStream sout;
    private DataInputStream in;
    private DataOutputStream out ;  
    private DataOutputStream dout ;
    private DataInputStream din;
    private StringBuffer data;  
    private Scanner scan;
//============================================================================== 
    public ServerThread
        (
            Socket clientSocket,
            int numberThread,
            String sendLine,
            String string,
            File f1,
            InputStream sin,
            OutputStream sout,
            DataInputStream in,
            DataOutputStream out,
            DataOutputStream dout,
            DataInputStream din,
            StringBuffer data,
            Scanner scan
        ) 
    
    {
        this.clientSocket = clientSocket;
        this.numberThread = numberThread;
        this.sendLine = sendLine;
        this.string = string;
        this.f1 = f1;
        this.sin = sin;
        this.sout = sout;
        this.in = in;
        this.out = out;
        this.dout = dout;
        this.din = din;
        this.data = data;
        this.scan = scan;
    }
        
//==============================================================================        
    public void sleeping(int time){
        try {
                Thread.sleep((time)*1000);
            } catch (InterruptedException ex) {
                Logger.getLogger(ServerThread.class.getName()).log(Level.SEVERE, null, ex);
              }
    }
//==============================================================================        
    public void SendingToFile(String st, int i, int count){
        try 
            {   
                System.out.println("Записали в файл:"+ st);
                                
                if (i == 0 || i == 2){
                    dout.writeUTF(st);
                    dout.flush();
                }
                else if(count == 0){
                    dout.writeUTF(st+"\n");
                    dout.flush();   
                }
                else {
                    dout.writeUTF(st);
                    dout.flush();
                }
            }catch(IOException ex){
                 System.out.println("Ошибка записи в файл: "+ ex);
            }
    } 
    //==============================================================================        
    public String ScannerFile(String string){
        try {
            string = scan.nextLine();
            System.out.println("Прочитали из файла:" + string);
 
        } catch ( Exception ex ) {
                System.out.println("Ошибка чтения из файла: "+ ex);
        }
        return string;
    } 
//==============================================================================
    @Override
    public void run() {
        try {
            //------------------------------------------------------------------
            int count = 0;
            String Answer = null;
            
            //Сообщаем клиенут его номер
            out.writeInt(numberThread);
            out.flush();
            
            System.out.println("Отправляем " + sendLine + " " + (numberThread + 1) + "-му клиенту!");
            if(numberThread == 3) {System.out.println("\n");}
            out.writeUTF(sendLine);
            out.flush();
            
            //------------------------------------------------------------------
            if(numberThread == 0) {sleeping(numberThread);}
            if(numberThread == 1) {sleeping(numberThread);}
            if(numberThread == 2) {sleeping(numberThread);}
            if(numberThread == 3) {sleeping(numberThread);}
            //------------------------------------------------------------------
            in.readUTF();
            System.out.println("Клиент " + (numberThread + 1) + " получил покет!");   
            if(numberThread == 3) {System.out.println("\n");}
            string = in.readUTF();
                      
            //------------------------------------------------------------------
            if(numberThread == 0) {sleeping(numberThread+1);}
            if(numberThread == 1) {sleeping(numberThread+2);}
            if(numberThread == 2) {sleeping(numberThread+3);}
            if(numberThread == 3) {sleeping(numberThread+4);}
            
            
            SendingToFile(string, numberThread,count);
            count++;
            
            if(numberThread == 0) {sleeping(numberThread+4);}
            if(numberThread == 1) {
                sleeping(numberThread+5);
                string = ScannerFile(string);
                System.out.println("Отправляем " + string + " " + (numberThread + 1) + "-му клиенту!");
                out.writeUTF(string);
                out.flush();
                string = in.readUTF();
                System.out.println("\nЯ получил покет!\n");
                System.out.println("Строка:" + string);
                SendingToFile(string, numberThread,count);
            }
            if(numberThread == 2) {sleeping(numberThread+6);}
            if(numberThread == 3) {
                sleeping(numberThread+7);
                string = ScannerFile(string);
                System.out.println("Отправляем " + string + " " + (numberThread + 1) + "-му клиенту!\n");
                out.writeUTF(string);
                out.flush();
                string = in.readUTF();
                System.out.println("\nЯ получил покет!\n");
                System.out.println("Строка:" + string);
                SendingToFile(string, numberThread, count);
                string = ScannerFile(string);
                System.out.println("Отправляем " + string + " " + (numberThread + 1) + "-му клиенту!\n");
                out.writeUTF(string);
                out.flush();
                Answer = in.readUTF();
                System.out.println("Ответ: " + Answer);
                out.writeUTF(Answer);
                out.flush();
            }
 
            //----------------------Закрываемся---------------------------------
            in.close();
            out.close();
            sin.close();
            sout.close();
            
        } catch (IOException e) {
            System.out.println("Ошибка run: " + e);
        }
    }
}
 
//==============================================================================
//==============================================================================
//==============================================================================
public class Server {
 
    public String line = "5 2 1 0 5 5 3 1";
    public String[] str = line.split("[ ]");
    public ServerSocket serverSocket;
    public Socket[] clientSockets;   
    File f1 = new File("D:\\text.txt");
    
    public Server()  {
        clientSockets = new Socket[4];
        
    }
 
    public void connection() throws IOException {
        serverSocket = new ServerSocket(12345);
        System.out.println("Сервер готов к работе!");
        System.out.println("\n---------------------------------------");
    }
    
 
    public void runApp() throws IOException {
        
        
        String string = null;
        DataOutputStream dout = new DataOutputStream(new FileOutputStream(f1));
        DataInputStream din = new DataInputStream(new FileInputStream(f1));
        
        Scanner scan = new Scanner(f1);
        StringBuffer data = new StringBuffer();    
        
        for (int i = 0; i < clientSockets.length; i++) {
 
            clientSockets[i] = serverSocket.accept();
 
            System.out.println("Клиент " + (i + 1) + " подключился!");
            System.out.println(clientSockets[i]);
            if(i == 3) {System.out.println("\n");}
        }
 
        for (int i = 0; i < clientSockets.length; i++) {
            
            String sendLine = str[2 * i] + " " + str[2 * i + 1];
            
            InputStream sin = clientSockets[i].getInputStream();
            OutputStream sout = clientSockets[i].getOutputStream();
            
            DataInputStream in = new DataInputStream(sin);
            DataOutputStream out = new DataOutputStream(sout);
       
            Thread t = new Thread(new ServerThread(
                    clientSockets[i],
                    i,
                    sendLine,
                    string,
                    f1,
                    sin,
                    sout,
                    in,
                    out,
                    dout,
                    din,
                    data,
                    scan)
                    );
 
            t.start();
        }
    }
    
//==============================================================================
    public static void main(String[] args) throws IOException {
        Server server = new Server();
        server.connection();
        server.runApp();
    }
}
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.Arrays;
 
public class Client2 extends Thread {
    
 
    public static void main(String[] args) throws Exception {
        try {           
            //------------------------------------------------------------------
            Socket socket = new Socket("localhost", 12345);
 
            InputStream sin = socket.getInputStream(); 
            OutputStream sout = socket.getOutputStream();
 
            DataInputStream in = new DataInputStream(sin);
            DataOutputStream out = new DataOutputStream(sout);
            
            String line, Answer, c = null;
            int num;
            //------------------------------------------------------------------
            
            //Узнаем свой номер
            num = in.readInt();
            
            // ожидаем пока клиент пришлет строку текста
            line = in.readUTF();
            
            try {
                Thread.sleep(2000);
            } catch (InterruptedException ex) {
                Logger.getLogger(Client2.class.getName()).log(Level.SEVERE, null, ex);
              }
            
            
            System.out.println("Я получил покет!");
            System.out.println("Строка:" + line);
            out.writeUTF("Я получил покет!");
            
            try {
                Thread.sleep(2000);
            } catch (InterruptedException ex) {
                Logger.getLogger(Client2.class.getName()).log(Level.SEVERE, null, ex);
              }
            
            //создает массив из чисел, разделенных пробелом
            String str[] = line.split("[ ]");   
            
            //--------------------сортировка пузырьком--------------------------           
            Arrays.sort(str);
            for (int i = 0;i < str.length; i++){
                System.out.println("str:" +str[i]);
            }
            
            //------------------------------------------------------------------
            System.out.println("Отсортирвал его!");
            line = str[0] + " " + str[1];
            
            try {
                Thread.sleep(2000);
            } catch (InterruptedException ex) {
                Logger.getLogger(Client2.class.getName()).log(Level.SEVERE, null, ex);
              }
            
            //отправляем серверу ответ           
 
            out.flush();
            System.out.println("Отправил " +line + " серверу!"); 
            
            try {
                Thread.sleep(2000);
            } catch (InterruptedException ex) {
                Logger.getLogger(Client2.class.getName()).log(Level.SEVERE, null, ex);
              }
            
            //выводим то, что получилось на экран
            line = String.valueOf(str[0]+ " " + str[1]);
            out.writeUTF(line);
            out.flush();
            
            //------------------------------------------------------------------
            
            if (num == 1 || num == 3){
            line = in.readUTF();           
            line = line.trim();      
            System.out.println("Строка:" +line);
            
            String str1[] = {
                line.substring(0, 1),
                line.substring(2, 3),
                line.substring(5, 6),
                line.substring(7)
            };
            
            System.out.println("Я получил покет!");
 
          
            Arrays.sort(str1);
            for (int i = 0;i < str1.length; i++){
                System.out.println("str1:" +str1[i]);
            }
            
            System.out.println("Отсортирвал его!");
            line = String.valueOf(str1[0]+ " " + str1[1]+ " " + str1[2]+ " " + str1[3]);
            System.out.println("Отсортированная строка: " + line);
            }
            
            System.out.println("Отправляем...");
            out.writeUTF(line);
            out.flush();
            
            if (num == 1){
                Answer = in.readUTF();
                System.out.println("Ответ: " + Answer);
            }
            
            line = in.readUTF();
            System.out.println("Я получил покет!");
            
            line = line.trim();      
            System.out.println("Строка:" +line);
            
            String str2[] = {
                line.substring(0, 1),
                line.substring(2, 3),
                line.substring(4, 5),
                line.substring(6, 7),
                line.substring(9, 10),
                line.substring(11, 12),
                line.substring(13, 14),
                line.substring(15)
            };
            
            for (int i = 0;i < str2.length; i++){
                System.out.println("str1:/" +str2[i]+"/");
            }
            System.out.println("----------------------------------------------");
             Arrays.sort(str2);
            for (int i = 0;i < str2.length; i++){
                System.out.println("str1:/" +str2[i]+"/");
            }
            
            System.out.println("Отсортирвал его!");
            line = String.valueOf(str2[0]+ " " + str2[1]+ " " + str2[2]+ " " + str2[3]+ " " +str2[4]+ " " + str2[5]+ " " + str2[6]+ " " + str2[7]);
            System.out.println("Отсортированная строка: " + line);
            
            
            System.out.println("Отправляем...");
            out.writeUTF(line);
            out.flush();
            
            Answer = in.readUTF();  
            System.out.println("Ответ: " + Answer);
            //------------------------------------------------------------------            
           
            if (num == 0 || num == 2){
            Answer = in.readUTF();
            System.out.println("Ответ: " + Answer);
            }
            
        } catch(Exception e) // вывод исключений
        {System.out.println("Ошибка: "+e);}
    }  
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2014, 01:23

Как организовать сервер для многих клиентов?
Подскажите пожалуйста начинающему java-программисту. Как лучше организовать сервер для небольшой он-лайн игрушки: -запускать каждый...

Сервер c использованием Java nio для множества клиентов
Все привет. Недавно познакомился с java nio, и возник такой вопрос при создании сервера для клиента, взял сервер из примера import...

Объединить несколько устройств Android через сервер в сети Internet
Один вопрос - одна тема Задача: Объединить несколько устройств Android через сервер в сети Internet, для обмена данных между ними. ...

Несколько клиентов на один сервер
Доброго времени суток! Прошу совета ну или пинка под зад в правильную сторону. Есть приложение, которое является сервером для всех...

Один сервер несколько клиентов
Всем привет) написала простую сервер-клиент программку (udp), теперь нужно сделать, что бы к серверу могло подключаться несколько клиентов....


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

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

Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru