44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
|
|||||||||||
1 | |||||||||||
Проверка, включен ли сервер19.11.2013, 23:29. Показов 4427. Ответов 10
Метки нет (Все метки)
Доброго всем времени суток!
Столкнулся с не совсем понятной проблемой. Есть сервер. он иногда работает иногда нет. Я на форму бросил картинку и tcpclient что бы проверять работает он или нет. По нажатию на кнопку свойству актив клиента задаю значение тру а на самом клиенте создал событие коннект в котором прописал:
Прошу подсказки, где я смотрю не в ту сторону? Заранее благодарю! Добавлено через 5 часов 52 минуты Решил вопрос, заменив TCPClient на сокет. Но тут проблема. не отрабатывает try
Хотя должен бы просто отработать exception... Добавлено через 3 минуты Решил проблему добавлением обработчика ошибок самого сокета, но всё равно не понятно, почему не отрабатывает try
0
|
19.11.2013, 23:29 | |
Ответы с готовыми решениями:
10
Программа клиент-сервер. Проверка знаний. Проверка включен ли SQL Server Как показать на сайте включен ли сервер? Проверка, включен ли у пользователя JavaScript, при помощи PHP |
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
19.11.2013, 23:44 | 2 |
Чему у тебя равно BlockMode ?
Если bmNonBlocking, то такое поведение совершенно нормально, ибо св-во Connected в этом случае фиксирует факт успешного запуска асинхронной неблокирующей операции коннекта, а не факт успешного завершения этой операции. И не обязан. Опять же - чему равно ClientType ? Если ctNonBlocking, то Active = True (или вызов Open, что эквивалентно) запускает асинхронную неблокирующую операцию коннекта, об успехе которой сообщит событие OnConnect, а о неуспехе - OnError. Поскольку хоста с именем "Просто Вася" не существует, операция асинхр.коннекта завершается с ошибкой, погасить которую можно установив ErrorCode = 0 в обработчике OnError, при этом в том же обработчике в обязательном порядке следует закрыть гнездо вызовом Socket.Close, в противном случае утечка ресурсов гарантирована.
1
|
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
|
|
20.11.2013, 16:40 [ТС] | 3 |
Установил свойство сокета на на bmBlocking, но мне это не помогло. Я знаю точно, что серверная программа выключена. Через web ресурсы проверяю доступность порта а так же через сокеты php скриптов на своём сайте, всегда выдаёт, что выключена. А сокет делфи упорно радуется подключению к хрен пойми чему.
При этом если указать адрес 127.0.0.1, то он радостно заявляет о невозможности подключения, а если удалённый ip, то всё ему хорошо... Не могу понять, в чём проблема...
0
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
20.11.2013, 17:18 | 4 |
А где у тебя обработка OnError ?
Она обязана быть ..
0
|
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
|
|
20.11.2013, 20:59 [ТС] | 5 |
Есть. В ней написано приводить актив в false;
0
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
20.11.2013, 21:59 | 6 |
0
|
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
|
|
20.11.2013, 22:43 [ТС] | 7 |
Очень странная ситуация. Одни и те же исходники на домашнем компе отрабатывают прекрасно, на рабочем вообще не реагируют на внешние раздражители.
Но, думаю, это проблема конкретной машины.
0
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
20.11.2013, 22:50 | 8 |
Я задал вполне конкретный вопрос, не понять который сложно - срабатывает ли событие OnError и чему равно значение параметра rc при вызове обработчика ..
0
|
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
|
|
20.11.2013, 22:52 [ТС] | 9 |
Я ответил на него, хоть и слегка витиевато, на домашнем компьютере отрабатывает, на рабочем нет. Словно никаких ошибок не происходит. С чем это связано, не знаю. Даже предположить не могу.
0
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
20.11.2013, 23:09 | 10 |
А не надо гадать.
Cледует установить точку останова в тело Sockets.TCustomIpClient.Open, пройти тело пошагово и понять что на самом деле происходит.
0
|
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
|
|
21.11.2013, 09:37 [ТС] | 11 |
0
|
21.11.2013, 09:37 | |
21.11.2013, 09:37 | |
Помогаю со студенческими работами здесь
11
Проверка, работает ли сервер LNMP сервер запуск и проверка Проверка работы MySQL Сервер Проверка работает ли RDP сервер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |