Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TIdCmdTCPServer


Страницы:   1 2 3 4 5 6 7 8

Zalm ©   (2009-08-31 13:14:00) 

Здравствуйте, как у TIdCmdTCPServer можно всем клиентам разослать сообщение? Надо например каждому отослать команду. Это должно быть естественно в цикле, только я не знаю как и где. У TServerSocket было проще всё, ну или понятней.
1)Вот например у меня есть кнопка на сервере, как сделать чтоб ы при нажатии на кнопку каждому подключению что-то отправить, и что бы узнать его адрес там и тд?
2) Как узнать ip и handler подключения? и в каком евенте... если в OnConnect то я не опнля как...
3) Как вне событий отправить текст на подключение с известным адресом\обработчкиом?
Буду очень благодарен за помощь.


Zalm   (2009-09-14 13:33:00) [61]

какая может быть ошибка предположительно? как я полнял сервер работает нормально, если пара не полная, то он и через час ответит что не кому отсылать что-то, его не надо "оживлять", а вот с клиентом похоже проблема.
Может время ReadTimeout поменять? там -1 стоит


Сергей М.   (2009-09-14 08:21:00) [62]

У тебя ошибка в программе.


Zalm   (2009-09-12 02:58:00) [63]

такая не приятная ситуация у меня наблюдается...
дело такое, подключаюсь я с телефона к своему серверу, и клиент подключаю с компа.. если какое-то, именно какое-то не определенное (время не определял) время ничего не слать, то спустя "ЭТО ВРЕМЯ" если что-то написать первая команда просто где-то теряется, а если сразу же за этой командой отправить что-то то всё опять хорошо... словно эта потерянная команда оживляет сервер или клиент парный... вы знаете почему такое может быть?
детального анализа еще не делал где теряется команда и куда доходит.. сначала думал спросить у вас с чем это может быть связано..
может TerminateWaitTime 5000 на сервере дает такой эффект? или надо сделать какой-то "keep alife"?


Zalm   (2009-09-11 17:37:00) [64]

аа... Спасибо Сергей


Сергей М.   (2009-09-11 08:29:00) [65]

Тотальный подсчет трафика не предусмотрен.
Однако есть события TIdTCPConnection.OnWork , TIdIOHandler.OnWork - их можно приспособить для тотального подсчета прикладноготрафика.


Zalm   (2009-09-11 02:26:00) [66]

А TidTCPServer имеет какие-то функции\процедуры для подсчета входящего\исходящего трафика? или только руками можно посчитать?
Подскажите пожалуйста)


Zalm   (2009-09-10 20:25:00) [67]

Сергей что ж вы злой такой?)

Спасибо большое Пятачок)


Сергей М.   (2009-09-07 19:31:00) [68]


> я .. писал ..


Я понимаю, что ты писатель, а не читатель.


> не думаю что это мне не принесет никаких результатов


Ты вообще не думаешь. Вероятно, не спрособен думать.
Иначе давным бы давно реализовал кучу данных тебе подсказок.


> Медвежонок Пятачок ©   (07.09.09 19:00) [82]


Зря.
Клиент скорее мертв.
К тому он ханделЯми озабочен, а ты ему пир:порт)


Медвежонок Пятачок   (2009-09-07 19:00:00) [69]

procedure TForm1.Button1Click(Sender: TObject);
var List : TList; i : integer;
begin
try
 List := IdCmdTCPServer1.Contexts.LockList;
 for i := 0 to Pred(List.Count) do
  with TIdContext(List[i]) do
   begin
    if (Connection.Socket.Binding.PeerIP = '1.2.3.4') and (Connection.Socket.Binding.PeerPort = 1234) then
     TIdContext(List[i]).Connection.Socket.Write('привет');
   end;
finally
 IdCmdTCPServer1.Contexts.UnlockList;
end;
end;


Zalm   (2009-09-07 18:44:00) [70]


> Это тебе "сервер ася" сказал ?Или ты изучил документацию
> ?

ну нет, я в начале второго курса писал подобие аси... в итоге всё работало нормально. всё передавалось и принималось.


> А что ты хотел увидеть в кач-ве ответа на вопрос ?Код ?Он
> тебе не поможет, уверяю тебя.Ты нишиша в нем не поймешь.
> Даже если ты сдуешь его "один в один", он у тебя работать
> не будет.

почему это? это голословно))) не думаю что это мне не принесет никаких результатов... так что думаю вы ошибаетесь


Сергей М.   (2009-09-07 18:38:00) [71]


> Zalm ©   (07.09.09 17:51) [72]


А что ты хотел видеть в кач-ве ответа на этот вопрос ?


> а это что делает?


"Это" возвращает binding-структуру с интересующим значением поля handle.


> та же структура что и у сервера аси, получил передал сразу
> вот и всё


Это тебе "сервер ася" сказал ?
Или ты изучил документацию ?


> вот что сложного ответить на вопрос как


А что ты хотел увидеть в кач-ве ответа на вопрос ?
Код ?
Он тебе не поможет, уверяю тебя.
Ты нишиша в нем не поймешь.
Даже если ты сдуешь его "один в один", он у тебя работать не будет.


Zalm   (2009-09-07 18:34:00) [72]

ну а что там выкручиться, сложности никакой.
например синтаксис для собщения MSG_<сообщение>, а для инфы INFO_<инфа>, и какой тут напряг? придет себе сообщение, будет оно как сообщение, а инфу по-прежнему ждем


Медвежонок Пятачок   (2009-09-07 18:29:00) [73]

Хотя этот вопрос лишний.
Ты попробуй сначала выкрутится из ситуации, что описана у меня в [75].

Когда в ответ на запрос информации о контакте приходит не инфа о контакте, а "Превет Медвет".


Медвежонок Пятачок   (2009-09-07 18:27:00) [74]

ася что ли сидит и спрашивает у сервера есть ли для неё сообщения?

Ты лучше спроси как она вообще получает сообщения ничего не запрашивая (якобы) и ничего не читая (якобы).


Zalm   (2009-09-07 18:23:00) [75]

ася что ли сидит и спрашивает у сервера есть ли для неё сообщения?

вобще один товарищ посоветровал не возится с таким сервером "посредником" а связать компы не имеющие выделенных адресов через VPN. Тока я еще не совсем дочитал что это такое... так что пойду читать, мб и не нужен будет такой сервер...


Медвежонок Пятачок   (2009-09-07 18:14:00) [76]

Вот я клиент твоей аси.
И Сергей М. тоже клиент.

Я нажимаю кнопку и запрашиваю инфо о контакте Сергея М.
В это время он мне шлет сообщение "Превет Медвет"
Сервер его получает и тут же сразу же мне его шлет.
А я в это время отправил запрос о его профиле и жду его.
А в ответ мне вместо данных его профиля приходит "Превет Медвет".
Я (точнее твой чудо-клиент аси) при этом в полной уверенности что:
1. Получил не сообщение, а инфу о профиле Сергея М
2. Мне не пришло текстовое сообющение от Сергея М

дальше разжевывать надо?


Медвежонок Пятачок   (2009-09-07 18:10:00) [77]

получил передал сразу вот и всё...

не сразу, а только по запросу того, кому это предназначалось.


Zalm   (2009-09-07 18:07:00) [78]

что вобще сложного в том сервере который мне нужен? та же структура что и у сервера аси, получил передал сразу вот и всё...


Zalm   (2009-09-07 17:51:00) [79]

вот что сложного ответить на вопрос как отправить клиенту строку зная либо хендл, либо его адрес, либо его индекс подключения?)


Zalm   (2009-09-07 17:48:00) [80]

Server.Bindings.BindingByHandle(handle : cardinal)

а это что делает?


Страницы:   1 2 3 4 5 6 7 8

Наверх

Титульная страница Поиск, карта сайта Написать письмо