Rad1us: Хорошо, что вы так уверены, что конфликтов быть не может :)
Я бы посмотрел сначала в сторону п.2, т.к. п.3 - сильно костыльный и чреват конфликтами с доступом к файлам. Т.е. в п.3 2 программа и батник будут работать не синхронизировавшись друг с другом, а это плохо.
Реализовать копирование можете чем угодно, что вам ближе - батник как один из достаточно простых вариантов.
1.Возможно, для доступа к виртуалке из вне требуется некая ВПН авторизация. Что-то по этому поводу должно быть в тарифах хостера или в правилах.
3.Нужную маску узнайте у хостера - это будет вернее всего.
Да, похоже, самый правильный вариант - отправить запрос по вашей проблеме в поддержку хостера.
При подключении по ssh происходит авторизация пользователя?
С виртуалки вы можете ходить в Интернет?
Сетевые настройки на виртуалке сделаны так как рекомендует хостер?
Если вы задаете этот вопрос, то скорее всего лучше оставить.
Для себя я всегда сношу, т.к. при восстановлении ставится куча лишнего софта, снос которого по времени занимает примерно столько же сколько и ручная установка драйверов. Кроме того в разделе восстановления, как правило, лежит уже устаревшая версия ОС.
EVOSandru6: Это нормальное поведение - для доступа к общим ресурсам вы должны авторизоваться на удаленном компьютере. Что бы это делалось автоматически можно пойти двумя способами:
1.Завести на сервере такого же пользователя, как на клиенте (с таким же логином и паролем).
2.В "Диспетчере учетных данных" клиента завести учетку для доступа к серверу - эта учетная запись должна существовать на сервере. Тогда для доступа к серверу будет использоваться именно эта учетка.
Да, ключевая фраза "до переустановки Windows".
Значит железо у вас нормальное - ищите подходящие драйвера.
Если проблемы с поиском или не знаете какое оборудование у вас установлено, то делайте следующим образом: в диспетчере устройств откройте свойства вашего устройства, перейдите на закладку "Сведения" выберите в списке "ИД оборудования" и ищите по идентификатору оборудования: перепешите весь идентификатор включая SUBSYS_.....
REV и прочее в поиск, как правило, включать не надо.
Вариант по проще - возьмите любой драйверпак и натравите его на свои железки. Например этот: https://sdi-tool.org/
Перечитал документацию по fgets - в примере правильное использование, fgets учитывает, что в количество прочитанных символов входит еще и завершающий 0.
Все функции, работающие со строками, добавляют символ 0 в конце строки. Этим они отличаются от функций, которые работают с массивами байт, типа memcpy.
Но тут еще один момент - судя по описанию fgets, она читает не более заданного количества символов, т.е. в нашем случае 80, и дописывает следом за последним прочитанным символом 0. Т.е. если пользователь ввел 80 символов fgets запишет в 81 байт 0. Типичное переполнение буфера.
И это не вызовет никакой ошибки т.к. буфер в стеке. Даже если буфер будет в динамической памяти, то вполне вероятно, что ошибки не будет. Скорее всего конкретно в этом примере это не приведет ни к каким последствиям, но в более сложной программе вполне может быть порча данных, которые лежат в стеке следом за буфером.
По уму в fgets надо передавать 79 или делать буфер в 81 символ.
Да, будет висеть и ждать когда нажмешь "вход". За одно и пароль можно поставить. Тут уж одно из двух или нормальный терминальный режим или автоматический вход.
Кстати, есть еще вариант - shadow RDS: https://habrahabr.ru/post/147273/
В этом случае можно получить доступ к рабочему столу одновременно с пользователем консоли, т.е. и удаленный и локальный пользователи будут видеть один и тот же раб.стол. Но для этого требуется подключаться к конечному компьютеру из терминальной сессии. Т.е. в общем случае сначала с удаленной рабочей станции заходишь по RDP на промежуточный терминальный сервер, а с него уже даешь команду shadow и подключаешься к удаленной рабочей станции. Кроме того у этого режима есть еще нюансы - микрософт начиния с Windows Vista и заканчивая Windows 8 (и соответствующих серверных ОС) убрала shadow из RDP. В Windows 8.1 вернули обратно.
Хром получает только HTTP ответ (внешний слой инкапсуляции пакета уже обработан ОС), но т.к. на момент получения ответа соединение уже установлено, то хром знает и адрес и порт сервера, и свои то же знает, конечно.
В ОС есть таблица соответствия номера порта и процесса открывшего этот порт. Но на самом деле ОС не отправляет данные процессу из таблицы, а процесс сам читает свой сокет (читай "данные пришедшие на свой порт"). Это сделано так, потому что, например, возможна ситуация, когда TCP соединение устанавливает один процесс, а прием/передачу данных по этому соединению осуществляет другой.
В винде посмотреть таблицу можно:
netstat -ab
Правда PIDы не отображаются, но имя процесса есть, на самом деле, конечно, в таблице лежат PIDы, а уже из них netstat получает имена процессов.
В никсах есть аналогичная команда:
sockstat - во FreeBSD
В линуксе то же она должна быть, но точно не скажу, т.к. с линуксом мало имею дела.
Я бы посмотрел сначала в сторону п.2, т.к. п.3 - сильно костыльный и чреват конфликтами с доступом к файлам. Т.е. в п.3 2 программа и батник будут работать не синхронизировавшись друг с другом, а это плохо.
Реализовать копирование можете чем угодно, что вам ближе - батник как один из достаточно простых вариантов.