Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Век живи - век тупи
 Аватар для tankoman228
2 / 2 / 2
Регистрация: 12.05.2022
Сообщений: 83
Записей в блоге: 1

Не подключается к серверу через SSH

06.09.2023, 16:45. Показов 473. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне необходимо подключиться через протокол SSH к серверу, чтобы вводить через него команды и отправлять их в консоль (как через putty, только проще внешне и с мобильного устройства). Однако, Socket соединение установить по каким-то причинам не может, хотя айпи сервера указан верно.

Код подключения:
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
package com.example.mobiledbadmin;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
 
class Connection  {
 
    public static String host = "192.168.3.74";
    public static String Output = "";
 
 
    private static Socket socket; //Connection socket
    private static InputStream in;
    private static OutputStream out;
 
 
    //try to connect, returns true if successfully
    public static boolean try_connection() {
 
        try {
 
            socket = new Socket(InetAddress.getByName(host), 22);
            in = socket.getInputStream();
            out = socket.getOutputStream();
 
            // Читаем ответ сервера
            Output = readResponse(in);
 
            return socket.isConnected();
 
        } catch (IOException e) {
            e.printStackTrace();
            return false;
        }
    }
 
    public static void close_connection()  {
        try {
            socket.close();
        } catch (IOException e) {
 
        }
    }
 
    private static String readResponse(InputStream in) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        StringBuilder response = new StringBuilder();
 
        String line;
        while ((line = reader.readLine()) != null) {
            response.append(line).append("\n");
            if (line.endsWith("$ ")) {
                break;
            }
        }
 
        return response.toString();
    }
 
    public static void sendCommand(String command) throws IOException {
        out.write((command + "\r\n").getBytes());
        out.flush();
    }
}
Активность:
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
package com.example.mobiledbadmin;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
import java.io.IOException;
 
public class ServerConsoleSSH extends AppCompatActivity {
 
    EditText et;
    TextView console;
    String c_text = "";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_server_console_ssh);
 
        Connection.host = "192.168.3.74";
        if (!Connection.try_connection()) {
            Toast toast = Toast.makeText(getApplicationContext(),
                    "Error", Toast.LENGTH_LONG);
            toast.show();
        }
 
        et = (EditText) findViewById(R.id.tb_comand);
        console = (TextView) findViewById(R.id.tv_console);
 
        console.setText(Connection.Output);
 
        ((Button)findViewById(R.id.btn_enter)).setOnClickListener(view -> {
            try {
                Connection.sendCommand(et.getText().toString());
                c_text += Connection.Output;
                console.setText(c_text);
 
            } catch (IOException e) {
                Toast toast = Toast.makeText(getApplicationContext(),
                        "Error: " + e.getLocalizedMessage(), Toast.LENGTH_LONG);
                toast.show();
            }
        });
    }
}
Logcat пишет:

Кликните здесь для просмотра всего текста
2023-09-06 20:43:11.953 4003-4003 AutofillManager com.example.mobiledbadmin V requestHideFillUi(null): anchor = null
2023-09-06 20:43:11.973 4003-4003 OplusSyste...ureExtImpl com.example.mobiledbadmin D regionString = null
2023-09-06 20:43:12.052 4003-4003 OplusInput...erInternal com.example.mobiledbadmin D get inputMethodManager extension: com.android.internal.view.IInputMethodMa nager$Stub$Proxy@5416568
2023-09-06 20:43:12.145 4003-4003 oplus.andr...actoryImpl com.example.mobiledbadmin I get feature:IOplusDynamicVsyncFeature
2023-09-06 20:43:12.145 4003-4003 oplus.andr...actoryImpl com.example.mobiledbadmin I get feature:IOplusDynamicVsyncFeature
2023-09-06 20:43:12.145 4003-4003 oplus.andr...actoryImpl com.example.mobiledbadmin I get feature:IOplusDynamicVsyncFeature
2023-09-06 20:43:12.153 4003-4003 AutofillManager com.example.mobiledbadmin D Fill dialog is enabled:false, hints=[password, passwordAuto, creditCardNumber, creditCardSecurityCode, creditCardExpirationDate]
2023-09-06 20:43:12.153 4003-4003 TextView com.example.mobiledbadmin V notifyAutoFillManagerAfterTextChanged
2023-09-06 20:43:12.153 4003-4003 AutofillManager com.example.mobiledbadmin V notifyValueChanged(1073741824): ignoring on state UNKNOWN
2023-09-06 20:43:12.154 4003-4003 TextView com.example.mobiledbadmin V notifyAutoFillManagerAfterTextChanged
2023-09-06 20:43:12.154 4003-4003 AutofillManager com.example.mobiledbadmin V notifyValueChanged(1073741824): ignoring on state UNKNOWN
2023-09-06 20:43:12.155 4003-4003 TextView com.example.mobiledbadmin V notifyAutoFillManagerAfterTextChanged
2023-09-06 20:43:12.155 4003-4003 AutofillManager com.example.mobiledbadmin V notifyValueChanged(1073741824): ignoring on state UNKNOWN
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W java.net.SocketException: socket failed: EPERM (Operation not permitted)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at java.net.Socket.createImpl(Socket.java:5 17)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at java.net.Socket.<init>(Socket.java:471)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at java.net.Socket.<init>(Socket.java:275)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at com.example.mobiledbadmin.Connection.try _connection(Connection.java:27)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at com.example.mobiledbadmin.ServerConsoleS SH.onCreate(ServerConsoleSSH.java:25)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.app.Activity.performCreate(Activ ity.java:8397)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.app.Activity.performCreate(Activ ity.java:8370)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.app.Instrumentation.callActivity OnCreate(Instrumentation.java:1403)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.app.ActivityThread.performLaunch Activity(ActivityThread.java:3841)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.app.ActivityThread.handleLaunchA ctivity(ActivityThread.java:4010)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.app.servertransaction.LaunchActi vityItem.execute(LaunchActivityItem.java :111)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.app.servertransaction.Transactio nExecutor.executeCallbacks(TransactionEx ecutor.java:135)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.app.servertransaction.Transactio nExecutor.execute(TransactionExecutor.ja va:95)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.app.ActivityThread$H.handleMessa ge(ActivityThread.java:2466)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.os.Handler.dispatchMessage(Handl er.java:106)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.os.Looper.loopOnce(Looper.java:2 40)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.os.Looper.loop(Looper.java:351)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at android.app.ActivityThread.main(Activity Thread.java:8381)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at java.lang.reflect.Method.invoke(Native Method)
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at com.android.internal.os.RuntimeInit$Meth odAndArgsCaller.run(RuntimeInit.java:584 )
2023-09-06 20:43:12.167 4003-4003 System.err com.example.mobiledbadmin W at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:1013)
2023-09-06 20:43:12.167 4003-4003 Compatibil...geReporter com.example.mobiledbadmin D Compat change id reported: 147798919; UID 10290; state: ENABLED
2023-09-06 20:43:12.183 4003-4003 WindowManager com.example.mobiledbadmin D Add to mViews: DecorView@685602f[ServerConsoleSSH],pkg= com.example.mobiledbadmin
2023-09-06 20:43:12.191 4003-4003 InputEventReceiver com.example.mobiledbadmin D Input log is disabled
2023-09-06 20:43:12.192 4003-4003 VRI[MainActivity] com.example.mobiledbadmin D onFocusEvent false
2023-09-06 20:43:12.192 4003-4003 Quality com.example.mobiledbadmin I Skipped: false 0 cost 14.795 refreshRate 16667721 bit true processName com.example.mobiledbadmin
2023-09-06 20:43:12.215 4003-4003 BufferQueueConsumer com.example.mobiledbadmin D [](id:fa300000001,api:0,p:-1,c:4003) connect: controlledByApp=false
2023-09-06 20:43:12.216 4003-4003 ZoomWindowDecorView com.example.mobiledbadmin V setLastReportedMergedConfiguration mZoomDisplayHeight: 2400 getDecorView.109404207
2023-09-06 20:43:12.218 4003-5099 BufferQueueProducer com.example.mobiledbadmin D [VRI[ServerConsoleSSH]#1(BLAST Consumer)1](id:fa300000001,api:1,p:4003,c:4003) connect: api=1 producerControlledByApp=true
2023-09-06 20:43:12.224 4003-4003 VRI[ServerConsoleSSH] com.example.mobiledbadmin D registerCallbacksForSync syncBuffer=false
2023-09-06 20:43:12.233 4003-5099 VRI[ServerConsoleSSH] com.example.mobiledbadmin D Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true syncBuffer=false
2023-09-06 20:43:12.234 4003-5099 Parcel com.example.mobiledbadmin W Expecting binder but got null!
2023-09-06 20:43:12.236 4003-4003 VRI[ServerConsoleSSH] com.example.mobiledbadmin D draw finished.
2023-09-06 20:43:12.241 4003-4003 Quality com.example.mobiledbadmin I Skipped: false 2 cost 34.168278 refreshRate 16666987 bit true processName com.example.mobiledbadmin
2023-09-06 20:43:12.262 4003-4003 VRI[ServerConsoleSSH] com.example.mobiledbadmin D registerCallbacksForSync syncBuffer=false
2023-09-06 20:43:12.265 4003-5099 VRI[ServerConsoleSSH] com.example.mobiledbadmin D Received frameCommittedCallback lastAttemptedDrawFrameNum=3 didProduceBuffer=true syncBuffer=false
2023-09-06 20:43:12.266 4003-4003 VRI[ServerConsoleSSH] com.example.mobiledbadmin D draw finished.
2023-09-06 20:43:12.329 4003-5078 e.mobiledbadmin com.example.mobiledbadmin I Compiler allocated 4937KB to compile void android.view.ViewRootImpl.performTravers als()
2023-09-06 20:43:12.360 4003-4003 VRI[ServerConsoleSSH] com.example.mobiledbadmin D onFocusEvent true
2023-09-06 20:43:12.746 4003-5368 VRI[MainActivity] com.example.mobiledbadmin D dispatchAppVisibility visible:false
2023-09-06 20:43:12.766 4003-5099 BufferQueueProducer com.example.mobiledbadmin D [VRI[MainActivity]#0(BLAST Consumer)0](id:fa300000000,api:1,p:4003,c:4003) disconnect: api 1
2023-09-06 20:43:12.780 4003-4003 BufferQueueConsumer com.example.mobiledbadmin D [VRI[MainActivity]#0(BLAST Consumer)0](id:fa300000000,api:0,p:-1,c:4003) disconnect
2023-09-06 20:43:12.782 4003-4003 VRI[MainActivity] com.example.mobiledbadmin D setWindowStopped stopped:true
2023-09-06 20:43:14.758 4003-4003 AutofillManager com.example.mobiledbadmin V requestHideFillUi(null): anchor = null
2023-09-06 20:43:14.767 4003-4003 OplusSyste...ureExtImpl com.example.mobiledbadmin D regionString = null
2023-09-06 20:43:14.868 4003-4003 AndroidRuntime com.example.mobiledbadmin D Shutting down VM
2023-09-06 20:43:14.869 4003-4003 AndroidRuntime com.example.mobiledbadmin E FATAL EXCEPTION: main
Process: com.example.mobiledbadmin, PID: 4003
java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.OutputStream.write(byte[])' on a null object reference
at com.example.mobiledbadmin.Connection.sen dCommand(Connection.java:66)
at com.example.mobiledbadmin.ServerConsoleS SH.lambda$onCreate$0$com-example-mobiledbadmin-ServerConsoleSSH(ServerConsoleSSH.java:3 8)
at com.example.mobiledbadmin.ServerConsoleS SH$$ExternalSyntheticLambda0.onClick(Unk nown Source:2)
at android.view.View.performClick(View.java :7558)
at com.google.android.material.button.Mater ialButton.performClick(MaterialButton.ja va:1131)
at android.view.View.performClickInternal(V iew.java:7534)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View. java:29661)
at android.os.Handler.handleCallback(Handle r.java:942)
at android.os.Handler.dispatchMessage(Handl er.java:99)
at android.os.Looper.loopOnce(Looper.java:2 40)
at android.os.Looper.loop(Looper.java:351)
at android.app.ActivityThread.main(Activity Thread.java:8381)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$Meth odAndArgsCaller.run(RuntimeInit.java:584 )
at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:1013)


А ИИ пишет что-то непонятное
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.09.2023, 16:45
Ответы с готовыми решениями:

Не подключается к серверу через Socket
Привет. Подключаюсь к серверу так: try { ShowMessage(&quot;try&quot;); //InetAddress ipAddress = InetAddress.getByName(HOST); //...

bash скрипт подключается по ssh к серверу, происходит запрос пароля, как ввести пароль?
У нас в университете есть сервер на котором хранятся базы данных, созданные студентами в рамках своих лаб. работ. Задание - написать...

Доступ к серверу через SSH
Всем привет! Имеется сервер на Ubuntu 16.04. Можете подсказать и подробно описать, как настроить доступ через сеть Интернет по SSH через...

2
Век живи - век тупи
 Аватар для tankoman228
2 / 2 / 2
Регистрация: 12.05.2022
Сообщений: 83
Записей в блоге: 1
07.09.2023, 10:53  [ТС]
Итак, соединение есть, но команды то ли не вводятся, то ли нет вывода.

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
package com.example.mobiledbadmin;
 
import android.os.AsyncTask;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
 
class Connection extends AsyncTask<Void, Void, Void> {
 
    public static String host = "192.168.3.74";
    public static String Output = "";
 
 
    private static Socket socket; //Connection socket
    private static InputStream in;
    private static OutputStream out;
 
 
    //try to connect, returns true if successfully
    public static boolean try_connection() {
 
        try {
            socket = new Socket(InetAddress.getByName(host), 22);
            in = socket.getInputStream();
            out = socket.getOutputStream();
 
            // Читаем ответ сервера
            Output = readResponse(in);
 
            boolean a = socket.isConnected();
            socket.close();
 
            return a;
 
        } catch (IOException e) {
            e.printStackTrace();
            return false;
        }
    }
 
    private static String readResponse(InputStream in) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        StringBuilder response = new StringBuilder();
 
        String line;
        while ((line = reader.readLine()) != null) {
            response.append(line).append("\n");
            if (line.endsWith("$ ")) {
                break;
            }
        }
 
        return response.toString();
    }
 
    public static void sendCommand(String command) throws IOException {
        socket = new Socket(InetAddress.getByName(host), 22);
        in = socket.getInputStream();
        out = socket.getOutputStream();
 
        // Читаем ответ сервера
        Output = readResponse(in);
 
        out.write((command + "\r\n").getBytes());
        out.flush();
 
        socket.close();
    }
 
    @Override
    protected Void doInBackground(Void... voids) {
        return null;
    }
}
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
package com.example.mobiledbadmin;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
import java.io.IOException;
 
public class ServerConsoleSSH extends AppCompatActivity {
 
    EditText et;
    TextView console;
    String c_text = "";
    Button btn_enter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_server_console_ssh);
 
        Connection.host = "192.168.3.74";
        new ConnectSSH().execute();
 
        et = (EditText) findViewById(R.id.tb_comand);
        console = (TextView) findViewById(R.id.tv_console);
 
        console.setText(Connection.Output);
 
        btn_enter = (Button)findViewById(R.id.btn_enter);
 
        btn_enter.setOnClickListener(view -> {
            new SendSSH().execute();
        });
    }
 
    private class ConnectSSH extends AsyncTask<Void, Void, Void> {
        @Override
        protected Void doInBackground(Void... params) {
            Connection.try_connection(); // выполнение сетевых операций (соединение по SSH)
            return null;
        }
 
        @Override
        protected void onPostExecute(Void result) {
            // обновление пользовательского интерфейса
            TextView textView = findViewById(R.id.tv_console);
            textView.setText(Connection.Output);
        }
    }
 
    private class SendSSH extends AsyncTask<Void, Void, Void> {
 
        @Override
        protected Void doInBackground(Void... voids) {
            try {
                btn_enter.setEnabled(false);
 
                Connection.sendCommand(et.getText().toString());
                c_text += Connection.Output;
                console.setText(c_text);
                et.setText("");
 
                btn_enter.setEnabled(true);
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
 
        @Override
        protected void onPostExecute(Void result) {
            // обновление пользовательского интерфейса
 
        }
    }
 
}
0
 Аватар для Azathtot
754 / 351 / 90
Регистрация: 07.01.2023
Сообщений: 1,451
09.09.2023, 23:43
а собственно обмен ключами-то где? У вас SSH а не Telnet. Да и для Telnet неплохо бы хотя бы сессию правильно начать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.09.2023, 23:43
Помогаю со студенческими работами здесь

Не могу получить доступ к серверу DO (DigitalOcean) через ssh
Перечитал раз 20 наверное манула который даёться на сайте DO, на ютубе дофига видосов, но ничего. Создал сервер, подключил к нему...

Подключение к серверу altlinux по ssh через библиотеку paramiko
Добрый день, Мне необходимо удаленно подключиться к серверу Altlinux и попасть в определенную директорию доступ к которой можно...

C# подключится к серверу баз данных, через Standard TCP/IP over SSH
Есть, сервак к которому есть доступ, мне известно: способ подключения– Connection Method: Standard TCP/IP over SSH промежуточный...

Библиотека Mail.NET не подключается к IMAP серверу через прокси
Всем здравствуйте. Кто-нибудь работал с библиотекой Mail.NET? Пишу программу, которая авторизуется по IMAP и отмечает все новые письма...

Цель - подключиться через powershell по ssh протоколу к linux серверу, ошибка - no matching key exchange method found
Здравствуйте, меня зовут Екатерина. Мне нужна помощь в решении задачи: подключиться через powershell по ssh протоколу к linux серверу. ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru