Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2015, 14:29   #11
100GRamm
ХРЕНЕЮ с ИНДИ
Пользователь
 
Аватар для 100GRamm
 
Регистрация: 08.02.2009
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Жесть...

Тот же принцип - на сервере ставится компонент клиента. Короче все ПО выступает как клиентом так и сервером.
Это то есть обслуживается по одному клиенту за раз? вот это жесть)))
Велкам! :D http://radiomedtech.ucoz.ru
100GRamm вне форума Ответить с цитированием
Старый 10.08.2015, 15:47   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

зачем клиент на сервере?
TCP двусторонний протокол.
Код:
  AContext.Connection.IOHandler.ReadStream(FS);
там и Write есть
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.08.2015, 15:57   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Это то есть обслуживается по одному клиенту за раз?
Чего? О_о...
Тебе наверное прежде чем писать что-то, лучше почитать про INDY.
Один клиент за один раз - это может у тебя так, а в индейке - на каждое подключение свой поток. Будет у тебя 1000000 подключений клиентов - столько же обслужит один компонент.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.08.2015, 16:55   #14
100GRamm
ХРЕНЕЮ с ИНДИ
Пользователь
 
Аватар для 100GRamm
 
Регистрация: 08.02.2009
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Чего? О_о...
Тебе наверное прежде чем писать что-то, лучше почитать про INDY.
Один клиент за один раз - это может у тебя так, а в индейке - на каждое подключение свой поток. Будет у тебя 1000000 подключений клиентов - столько же обслужит один компонент.
если так, то это, конечно, круто... то есть клиент может быть сервером? право не знал о таких особенностях инди 0_о

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
зачем клиент на сервере?
TCP двусторонний протокол.
Код:
  AContext.Connection.IOHandler.ReadStream(FS);
там и Write есть
до, верно, только как клиент узнает что ему надо что-то получить.. в этом вопрос
Прежде было событие OnRead у клиента(ClientSocket), а теперь там такого нет (IdTCPClient)
Велкам! :D http://radiomedtech.ucoz.ru

Последний раз редактировалось Stilet; 10.08.2015 в 17:15.
100GRamm вне форума Ответить с цитированием
Старый 10.08.2015, 17:17   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
то есть клиент может быть сервером?
Чет не понимаю, а ты, когда ПО свое писал, ты разве не кидал на форму компоненты клиента и сервера? Ты что по отдельности программы делал?
Видишь ли, многопользовательская система это не особенность ИНДИ. Ты можешь со старыми TClientSocket и TServerSocket замутить работу с большим кол-вом пользователей. Или вообще с чистыми сокетами Беркли.
Просто в ИНДИ это сделано более удобно. С TServerSocket нужно писать дополнительно тонну кода, а в ИНДИ это уже реализовано. Вот и вся разница. Начинка что там что там - работа с winsock. Ну или точнее с sockets
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.08.2015, 17:47   #16
100GRamm
ХРЕНЕЮ с ИНДИ
Пользователь
 
Аватар для 100GRamm
 
Регистрация: 08.02.2009
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Чет не понимаю, а ты, когда ПО свое писал, ты разве не кидал на форму компоненты клиента и сервера? Ты что по отдельности программы делал?
Видишь ли, многопользовательская система это не особенность ИНДИ. Ты можешь со старыми TClientSocket и TServerSocket замутить работу с большим кол-вом пользователей. Или вообще с чистыми сокетами Беркли.
Просто в ИНДИ это сделано более удобно. С TServerSocket нужно писать дополнительно тонну кода, а в ИНДИ это уже реализовано. Вот и вся разница. Начинка что там что там - работа с winsock. Ну или точнее с sockets
Вот и я о том же: ServerSocket может подключить к себе сколь угодно клиентов и обрабатывать их по отдельности, А вот ClientSocket , подключаясь к серверу использует одно и лишь одно подключение (сокет). То-то меня и удивило твое выражение:
Цитата:
Один клиент за один раз - это может у тебя так, а в индейке - на каждое подключение свой поток. Будет у тебя 1000000 подключений клиентов - столько же обслужит один компонент.
То есть : Похоже , речь ,все же, шла о idTCPServer?
Если же я на серверной стороне прилеплю idTCPClient, для отправки данных клиенту на idTCPServer в нем, пусть на другой порт, всё будет работать (отчеты так передавал уже, отлично работало, правда я это построчно делал...), но в один момент времени к этому серверу с idTCPClient на борту сможет подключиться лишь один пользователь с idTCPServer на борту клиента... (сумятица какая-то получилась в рассуждениях, потому клиент-сервер-компонент)...

А вообще, предлагаю продолжить беседу в конструктивном русле, не перемалывая сказанное и написанное.
Вопрос состоял приблизительно , в следующем: Как осуществить передачу данных от idTCPServer к idTCPClient (и возможно ли это вообще, не прибегая к циклам, либо с циклами то как это возможно реализовать?)
Велкам! :D http://radiomedtech.ucoz.ru

Последний раз редактировалось 100GRamm; 10.08.2015 в 18:13.
100GRamm вне форума Ответить с цитированием
Старый 10.08.2015, 18:10   #17
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

TIdTCPClient в отличие от ClientSocket не асинхронен, в нем можно проверить есть ли данные, и затем попытаться их прочесть.
это делается через таймер или поток
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.08.2015, 18:14   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пф... Если тебе нужно многочисленное подключение много-ко-многим то кидай и серверные и клиентские компоненты на форму. Что мешает в одном проекте держать и то и другое?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.08.2015, 18:18   #19
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Пф... Если тебе нужно многочисленное подключение много-ко-многим то кидай и серверные и клиентские компоненты на форму. Что мешает в одном проекте держать и то и другое?
да не в этом затык, а в том как принимать данные от сервера.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.08.2015, 18:42   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как принимать?
Насколько я помню сервер может отвечать на входящее подключение. Если такой стиль не нравится, отдельным компонентом-клиентом посылать ответ.
Не понимаю в чем затык...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
idtcpclient kostya67 Работа с сетью в Delphi 4 04.11.2013 14:06
TICQClient получение сообщения Rec0il Общие вопросы Delphi 3 31.03.2013 21:34
Получение сообщения idUDPClient virtuhay266 Работа с сетью в Delphi 1 07.12.2011 08:33
idTCPClient не отправляет сообщения TwiX Работа с сетью в Delphi 2 09.03.2010 23:56
IRC получение сообщения jone Работа с сетью в Delphi 4 27.04.2009 21:20