Я пишу программу C#, которая вызывает пакетный файл, который перезагружает удаленную систему в другой раздел. Есть ли способ узнать, когда система перезагружается? Я хотел бы знать, когда я могу получить доступ к удаленной системе после ее перезагрузки.Определите, когда удаленная система перезагружена.
ответ
Я бы запросил его, чтобы определить, когда он вернулся в Интернет. Там есть Ping, встроенный в .net.
Я изучил это, и я думаю, что это сработает. – 2009-05-11 15:38:32
Однако я бы поставил таймаут в этом. Скажите, что после двух минут пингов вы сдаетесь, поднимите предупреждение или выбросите ошибку. Может быть опасно отбросить навсегда. – uriDium
Когда система A сообщает системе B перезагрузиться, возможно, она может предоставить свой IP-адрес (или другую контактную информацию), а затем в процессе запуска системы Bs он может прочитать файл с контактной информацией и перезвонить в систему A.
у вас есть несколько вариантов ...
Вы можете попытаться подключиться к сетевой службе другой системы, а именно: использовать Ping, как suggested by Jon B.
Однако, если система одна под вашим контролем, у вас есть другие возможности. Вы можете настроить запланированную задачу (или установить службу) для запуска при загрузке, а другая система сообщит вам, когда она находится в сети. Это помешало бы вам повторно использовать ping.
Я пытаюсь создать тестовую среду с новым изображением. Как только система настроена, я попытаюсь запустить автоматические тесты. Таким образом, я могу не управлять удаленной системой, пока я ее настраиваю. Опция ping должна работать. – 2009-05-11 15:40:16
@ Крис: Да, если это будет свежее изображение, пинг, вероятно, ваш лучший вариант. –
Хотелось бы, чтобы я использовал этот сайт, прежде чем провел весь субботний день, пытаясь понять это. Спасибо за помощь!! Ниже я закончил делать. Этот код будет пинговать компьютер и определять, когда он снова подключен к сети. Следующим шагом будет определить, могу ли я открыть сетевое подключение к удаленному рабочему порту, как было предложено ранее. Не стесняйтесь комментировать код.
Примечание: Вот добавленные с помощью заявления:
с использованием System.Net; // добавлено с использованием System.Net.NetworkInformation; // добавлено с использованием System.ComponentModel; // добавлено с использованием System.Threading; // добавлено
static void Main(string[] args)
{
string systemName = "172.30.11.148"; // Name of system beign pinged. System name used instead of ip due to DHCP
Ping pingSender = new Ping(); // Creates new ping object.
string data = "datadatadatadatadatadatadatadata"; // buffer of 32 bytes of data to transmit.
byte[] buffer = Encoding.ASCII.GetBytes(data); // buffer containing data.
int pingTimeout = 120; // Timeout in ms sent into pingSender.
int maxWaitTimeout = 60; // Maximum time to wait for system to reboot.
int counter = 1; // Used in while statement
bool connectStatus = false; // State of system connection.
Console.WriteLine("Wait for reboot to start before trying to establish connection.");
//Thread.Sleep(30000); // Waits 30 seconds at start of reboot to allow network to close.
Thread.Sleep(1000);
try
{
// Performs a ping on the system. If the system is available, while loop is exited and program
// continues. If the system is not available, program waits approximately 1 second and then
// pings the system again.
while (counter < maxWaitTimeout)
{
// Pings the system with 32 byts of data and waits for timeout
Console.WriteLine("Connection attempt #: " + counter + " of " + maxWaitTimeout);
PingReply reply = pingSender.Send(systemName, pingTimeout, buffer);
Console.WriteLine("Status of ping to: {0} - {1}", systemName, reply.Status);
if (reply.Status.ToString() == "Success")
{
connectStatus = true;
Console.WriteLine("\nRoundTrip time: {0}", reply.RoundtripTime);
Console.WriteLine("Time to live: {0}", reply.Options.Ttl);
Console.WriteLine("Buffer size: {0}", reply.Buffer.Length);
break;
}
Thread.Sleep(880);
counter += 1;
} // end while loop
if (connectStatus == true)
{
Console.WriteLine("\nAble to establish connection to: {0}", systemName);
}
else
{
Console.WriteLine("\nUnable to establish network connection using ping to: {0}", systemName);
}
} // end try
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
Console.ReadLine(); // Pause console
} // end main
Я также хочу отметить, что, когда я исследовал с помощью «пинг» Я нашел эту ссылку: http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping.aspx
- 1. Удаленная автоматизированная система сборки
- 2. POSIX-совместимый способ узнать, перезагружена ли система?
- 3. Служба перезагружена, когда приложение убито
- 4. Удаленная файловая система Android через java
- 5. Определите, является ли операционная система Mac
- 6. События флажков, когда форма открыта и закрыта, когда форма перезагружена
- 7. Услуга перезагружена с помощью START_NOT_STICKY
- 8. Определите, когда UITableViewCell освобожден
- 9. Определите, когда NSOpenPanel закроет
- 10. Определите, когда он поминутно
- 11. Определите, когда событие запускается
- 12. Определите, когда выполняется CallerRunsPolicy.
- 13. Определите, когда заканчивается MKRoutestep
- 14. Python - лучший способ подождать, пока загрузится удаленная система
- 15. Определите, когда замки пользователя/разблокирует их PC
- 16. ClearCase rpctcp_create: RPC: ошибка Удаленная система - [WINSOCK] Тайм-аут соединения
- 17. Git как удаленная система резервного копирования и обновления
- 18. My Activeform триггеры, когда страница загружена или перезагружена
- 19. Обновление флажка не работает, когда активность не перезагружена - Android
- 20. Скрыть символ выходной метки валидации (✘) скрыть, когда страница загружена/перезагружена.
- 21. Как перенаправить на страницу входа, когда страница перезагружена или обновлена
- 22. Как сохранить динамическую кнопку навсегда, даже когда машина перезагружена
- 23. страница перезагружена при нажатии кнопки
- 24. Удаленная удаленная ветка случайно
- 25. Программа Python не будет перезагружена
- 26. Определите, когда VERYSILENT завершения установки
- 27. Определите, когда SpriteNode покидает экран?
- 28. Определите, когда изменяется размер холста
- 29. Определите, когда поверхность полностью прозрачна
- 30. Android: Определите, когда приложение завершается.
Что планируется выполнить в следующем, когда перезагрузка выполняется? – Sake
После завершения перезагрузки я планирую использовать «образ для окон» для установки базового образа, а затем перезагрузиться к разделу, в котором я начал. – 2009-05-11 15:33:16