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

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

данные от сервера INDY всем клиентам INDY


Страницы:   1 2

Sergio77 ©   (2006-05-05 01:31:00) 

Подскажите пожклуйста, как это сделать?


Volfram   (2006-06-15 16:31:00) [1]

Упс, извините за дубль :/


Volfram   (2006-06-15 16:30:00) [2]


> Не знаю как в 10-ке, а в 9-ке TIdTCPServer имеет св-во-список
> Threads, каждый элемент которого есть объект класса TIdPeerThread.
>  В свою очередь TIdPeerThread имеет св-во Connection: TIdTCPServerConnection,
>  у которого есть соответствующие методы приема-передачи.
>


А как получить конкретный TIdPeerThread то? у Threads нет ни свойства Items, ни метода GetItem, только Add и Remove. :(


Volfram   (2006-06-15 16:29:00) [3]


> Не знаю как в 10-ке, а в 9-ке TIdTCPServer имеет св-во-список
> Threads, каждый элемент которого есть объект класса TIdPeerThread.
>  В свою очередь TIdPeerThread имеет св-во Connection: TIdTCPServerConnection,
>  у которого есть соответствующие методы приема-передачи.
>


А как получить конкретный TIdPeerThread то? у Threads нет ни свойства Items, ни метода GetItem, только Add и Remove. :(


Сергей М.   (2006-05-06 08:24:00) [4]


> Sergio77


Не знаю как в 10-ке, а в 9-ке TIdTCPServer имеет св-во-список Threads, каждый элемент которого есть объект класса TIdPeerThread. В свою очередь TIdPeerThread имеет св-во Connection: TIdTCPServerConnection, у которого есть соответствующие методы приема-передачи.


Slym   (2006-05-06 04:32:00) [5]

Sergio77   (05.05.06 18:40) [18]
ServerSocket.Socket.Connections[0].SendText(Memo1.Lines[Memo1.Lines.Count - 1])

Connections[0] - список подключений примени к нему мой [1] пост
но до рабочего сервера при этом далеко...


Eraser   (2006-05-06 01:55:00) [6]


> Sergio77   (06.05.06 00:15) [28]

что ты хотел услышать на такой вопрос?

данные от сервера INDY всем клиентам INDY

Sergio77   (05.05.06 01:31)  

Подскажите пожклуйста, как это сделать?


извини, ничем конкретнее помочь не могу.


Sergio77   (2006-05-06 00:15:00) [7]

поумничал и все...и ничего конкретного

или ты думаешь про книгу токо ты сообразить мог? :)


Eraser   (2006-05-05 20:51:00) [8]


> Sergio77

слушай, купи лучше книгу по сетям (и прочитай её) :))


Sergio77   (2006-05-05 19:19:00) [9]


> p.s. я использую d2005 и там TClientSocket и TServerSocket
> такие же как и в d5, думаю, что и d7 в этом ничем не отличается.
> .

запятую вместо вопроса поправил :)


Sergio77   (2006-05-05 19:14:00) [10]

короче говоря у стандартных сокетов есть свойства
ServerSocket.Socket.Connections и по ним можно каждому клиенту отослать данные

у клиента есть событие onread - (видимо у клиента есть отдельный поток)
по которому клиент может принимать в любое время..

вот у indy не могу найти ни свойств ни событий подобных..

p.s. я использую d2005 и там TClientSocket и TServerSocket такие же как и в d5? думаю, что и d7 в этом ничем не отличается..


Sergio77   (2006-05-05 19:06:00) [11]

я не согласен....там с клиентом

клиент принимать может..и не только ответы..


Плохиш   (2006-05-05 19:03:00) [12]


> Sergio77   (05.05.06 18:50) [22]
> код я взял из стандартных примеров delphi 5

В следующий раз указывайте, пожалуйста, версию делфи в самом начале. Речь я вёл о 7й. Что там и как делается в связке TServerSocket/TClientSocket я в данный момент ещё не знаю.
Хотя, судя по коду, они оба реализуют функциональность как сервера так и клиента. А при более внимательном рассмотрении, всё уже описано в Eraser ©   (05.05.06 18:27) [14]


Sergio77   (2006-05-05 18:50:00) [13]

код я взял из стандартных примеров delphi 5


Плохиш   (2006-05-05 18:48:00) [14]


> Sergio77   (05.05.06 18:40) [18]

Я не знаю где Вы взяли свой код. Но пример для NetChat рекомендую всё-таки посмотреть, там и строк-то совсем не много.


Sergio77   (2006-05-05 18:47:00) [15]

дело тут наверное в другом - просто клиент не сможет принять данные от другого сервера т.к. он присоединент к конкретному...
а сервер может принять много соединений вот, наверное, и вся разница..


Sergio77   (2006-05-05 18:44:00) [16]

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

p.s. вторые два не задействуют сервера...


Sergio77   (2006-05-05 18:40:00) [17]


> Если сервер сам говорит что-то клиенту, то они в этот момент
> меняются ролями. Т.е. это означает, что в клиенте должна
> быть реализована функциональность сервера. Открываем пример
> из поставки делфи NetChat и что мы там видим? На форме лежат
> компоненты TcpClient1 и TcpServer1. Вот и ответ на твой
> вопрос.


procedure TChatForm.Memo1KeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 if Key = VK_Return then
   if IsServer then
     ServerSocket.Socket.Connections[0].SendText(Memo1.Lines[Memo1.Lines.Count - 1])
   else
     ClientSocket.Socket.SendText(Memo1.Lines[Memo1.Lines.Count - 1]);
end;

а теперь посмотрим очень внимательно..........
на тот пример


Плохиш   (2006-05-05 18:37:00) [18]


> Sergio77   (05.05.06 18:34) [16]

Клиент умеет только принимать ответы на свои запросы. [13] не помогает?


Sergio77   (2006-05-05 18:34:00) [19]


> кому ждать ответ, это тебе виднее, ведущей стороной может
> быть как клиент так и сервер. Единственное отличие клиента
> от сервера в том, что сервер не умеет инициировать соединения,
>  а клиент, в свою очередь, принимать.


не умеет принимать ??

пошутил?


Sergio77   (2006-05-05 18:33:00) [20]

клиент умеет принимать данные?

вот второй ответ


Страницы:   1 2

Наверх

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