![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| coolikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 12.7.2005 Репутация: нет Всего: нет |
Здраствуйте у меня проблемка :
Пищу сетевую общалку. нужно клиентом отправить текст (socket.sendtext) списку серверов(). (типа сообщить всем что он онлайн) Пробую так :
но коннекта с хостом не происходит пробовал ставить задержку между : ClientSocket1.Active := True; и ClientSocket1.Active := False; но скоко не ставил(по врем. даже бесконечный цикл) конект так и не происходит почему мож че не так делаю???????? мож есть другой способ???? мож можно просто как-то пропинговать запущены ли на удаленных компах ТServerSocket"ы?????? помогите плизз!!!!! ______________________________ в программе есть и клиент и сервер. (т.е общего сервера для всех нет) |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 3 Всего: 50 |
Для твоего случая:
-------------------- |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 24 Всего: 50 |
Ты работаешь с неблокирующим сокетом.
http://www.delphimaster.ru/articles/sockets/index.html http://www.delphimaster.ru/articles/socksrv/index.html |
|||
|
||||
| coolikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 12.7.2005 Репутация: нет Всего: нет |
to Демо
а если сокета нет то программа просто стопиться и все!!!! А мне надо узнать есть ли он |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
Имхо создавай сокеты динамически, таких траблов не будет
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 3 Всего: 50 |
Ну так тогда делай правильно. Используй обработку событий OnConnect и OnError. -------------------- |
|||
|
||||
| coolikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 12.7.2005 Репутация: нет Всего: нет |
to Romikgy
Ты имееш ввиду что можно сервер сделать статич а при каждой посылке заново дин создавать сокет(клиентский) и приконекчивать к нужному серверу потом его дестроить А какие преимушества Обьясни плизз Добавлено @ 11:46 to Демо да при попытке коннекта к несущ сокету у меня возникает OnError но как от него перейти к сканированию следующего компа т.е. к коду в процедуре :
З.Ы. Понимаю что вопросы дурацкие, но ведь без вашей помоши не разобраться |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
Все настройки создаются заново + ждать не нужно сокет одуплится, будет что т наподобии хттп соединения, создался, соединился , передал сообщение, отключился, разрушился -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| coolikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 12.7.2005 Репутация: нет Всего: нет |
Вот наконец то снова добрался до своей программки (лучше поздно чем никогда)
to Romikgy Плиззз обьяни или приведи пример(хоть схематический) как при динамическом криэйте сокета сразу понять запушен ли на хосте, к которому он пытаеться коннектиться, сервер? |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
сразу -- никак. делается это попыткой подключиться: получилось -- значит запущен, не получилось -- значит нет.
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| coolikov |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 12.7.2005 Репутация: нет Всего: нет |
но тогда не вижу смысла в динамическом создании сокетов
ныне думаю что отсылать сообщение типа "онлайн" (как я писал в начале топиеа смысла нет) мне нужно просто попытаться приконнектиться клиентом программы к списку серверов и тот серв, к которому можно приконектиться, пометить как онлайн а тот,к которому не выйдет, как оффлайн. проверка эта(пингование списка серверов) должна происходить постоянно в фоновом режиме (смысл в том что бы показать пользователю кто в онлайн а кто нет) вообщем счас есть такая проблема : есть код:
А ВОТ КОД ОБРАБОТЧИКА СОБЫТИЯ ОШИБКИ:
смысл задумки таков --- коннектимся к соккету пока не приконнектимся или не произойдет ошибка в это время обрабатывая сообщения сиситемы потом отвел эту процедуру pingall в отдельную нить(использовал класс Tthread) но убрать
не могу тогда процесс висне и к следующему компу не переходит!!!! странно процесс та отдельный зачем ему Application.ProcessMessages и следующий вопрос вооще не пойму но в таком виде (с Application.ProcessMessages и нитью ) сканирование проходит ток один раз а в послендующий зацикливаеться на
!!!! З.Ы, я уже в шоке, но всетаки надеюсь что с ВАШЕЙ помощью все получиться Это сообщение отредактировал(а) coolikov - 4.7.2006, 16:31 |
||||||||
|
|||||||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |