|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Проверить онлайн ли сервер |
|
[решено] Проверить онлайн ли сервер
|
Старожил Сообщения: 398 |
Профиль | Сайт | Отправить PM | Цитировать
Здравствуйте!
Скажите пожалуйста, как можно проверить несколько десятков серверов онлайн ли они или нет? есть IP адрес и порт нескольких скриптов автоита, если к ним коннектиться то это займёт много времени, а как по другому я не знаю... |
|
------- Отправлено: 17:21, 08-07-2009 |
Старожил Сообщения: 460
|
Профиль | Отправить PM | Цитировать А почему бы не постариньке? - банально пропинговать?
Цитата morgan1991:
|
|
------- Отправлено: 17:53, 08-07-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 398
|
Профиль | Сайт | Отправить PM | Цитировать Цитата proxy:
|
|
------- Отправлено: 17:58, 08-07-2009 | #3 |
Старожил Сообщения: 460
|
Профиль | Отправить PM | Цитировать Цитата morgan1991:
|
|
------- Отправлено: 18:03, 08-07-2009 | #4 |
Старожил Сообщения: 398
|
Профиль | Сайт | Отправить PM | Цитировать не это не подходит, слишком много всего... ) А нельзя ли случайно откуданибудь точное время считывать, но не с локальной машины? Может клиент при входе будет в бд писать точное время входа, а остальные которые будут иногда проверять его статус будут смотреть на время и если оно не обновлялось более 5 минут значит пользователь оффлайн...
|
|
------- Отправлено: 18:18, 08-07-2009 | #5 |
Старожил Сообщения: 460
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:24, 08-07-2009 | #6 |
Старожил Сообщения: 206
|
Профиль | Отправить PM | Цитировать Попробуй InternetCheckConnection.
|
Отправлено: 19:14, 08-07-2009 | #7 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Метод через TCP:
$sServer = "forum.oszone.net" $sResponse = _HTTPGetHeader($sServer, "/") If StringRegExp($sResponse, "(?i)HTTP/\d.\d (200|301)") Then MsgBox(64, "Проверка сервера", "Сервер [" & $sServer & "] on-line.") Else MsgBox(48, "Проверка сервера", "Сервер [" & $sServer & "] НЕ on-line.") EndIf Func _HTTPGetHeader($sHost, $sPage) TCPStartup() Local $sName_To_IP = TCPNameToIP($sHost) Local $iSocket = TCPConnect($sName_To_IP, 80) If $iSocket = -1 Then TCPCloseSocket($iSocket) Return SetError(1, 0, "") EndIf Local $sCommand = "HEAD " & $sPage & " HTTP/1.1" & @CRLF $sCommand &= "Host: " & $sHost & @CRLF $sCommand &= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0" & @CRLF $sCommand &= "Referer: " & $sHost & @CRLF $sCommand &= "Connection: close" & @CRLF & @CRLF Local $BytesSent = TCPSend($iSocket, $sCommand) If $BytesSent = 0 Then Return SetError(2, @error, 0) Local $sRecv = "", $sCurrentRecv While 1 $sCurrentRecv = TCPRecv($iSocket, 16) If @error <> 0 Then ExitLoop If $sCurrentRecv <> "" Then $sRecv &= $sCurrentRecv WEnd TCPCloseSocket($iSocket) TCPShutdown() Return $sRecv EndFunc |
------- Отправлено: 23:47, 08-07-2009 | #8 |
Старожил Сообщения: 398
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Creat0R:
Заменить на $sServer = "fcjhfjhfjfjugv" То всёравно пишет онлайн |
|
------- Отправлено: 15:08, 09-07-2009 | #9 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата morgan1991:
|
|
------- Отправлено: 15:32, 09-07-2009 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Нужна лучшая программа для просмотра TV онлайн. | BROTHERHOOD | Хочу все знать | 8 | 24-05-2013 23:59 | |
Интернет - [решено] Не работает онлайн радио | YankeeWorm | Microsoft Windows Vista | 0 | 24-08-2009 17:33 | |
Win32 API - ICQ как сервер для онлайн игры | Turman | Программирование и базы данных | 3 | 31-07-2009 12:51 |
|