|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.08.2012, 00:17 | #1 |
Пользователь
Регистрация: 04.02.2011
Сообщений: 54
|
Сокеты клиент-сервер
Доброго времени суток, уважаемые форумчане.Решил обратиться к вам потому-что не знаю то-ли я чего-то не доганяю то-ли запутался. Заранее прошу извинить за много букф. Кароче говоря сейчас пишу клиент серверное приложение работающее через сокеты (ServerSocket, ClientSocket) смысл просто клиенты обращаются к серверу путем запросов, в соответсвии с которыми сервр отправляет им файлы разного рода (объем файлов в пределах сотен килобайт), в принципе так как сервер работает только на передачу файлов то реализовал все без проблем клиент присылает серверу строку вида "Идентификатор# имя файла#объем" либо "Идентификатор# имя директории откуда нужно забрать файлы" сервер обрабатывает и отправляет файлы. у Меня два вопроса
первый. Множественные подключения я реализавал путем многократного запуска одних и тех же процедур (директива overload) то есть на сервере для каждого клиента запускаются одинаковые для всех процедуры и функции. В связи с чем вопрос не скажется ли это на работоспособности сервера когда количество клиентов перевалит за сотню а то и несколько сотен. запуск одних и тех же функций сотню раз меня настараживает. Второй вопрос. Пожалуй самый важный. Появилось требование что-бы и сервер мог получать от клиентов файлы. И вот тут я немного встрял. как при одновременном обращении множества клиентов работать с кем-то на прием файлов с кем-то на передачу, ведь, если я правильно понимаю, когда сервер переключится на прием файла он будет принимать все в том числе и запросы на получения файла и следовательно не сможет отделить команду на получения файла и от клиента и байты передаваемого ему файла от другого клиента. Может есть какой-то способ реализации через отдельные потоки. Мало опыта работы с сокетами. Ткните пожалуйста в инфу где можно почитать про аналогичные задачи или поделитесь опытом. Любые советы и личный опыт приму к сведению. резюмиря мою поэму - как написать клиент-серверное приложение чтобы оно работало на прием-передачу файлов отклиента к серверу и наоборот. Заранее спасибо |
18.08.2012, 11:13 | #2 |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
Используй специальные компоненты, более высокоуровневые. И первый и второй вопрос легко решается.
|
19.08.2012, 15:33 | #3 |
Пользователь
Регистрация: 04.02.2011
Сообщений: 54
|
|
19.08.2012, 15:56 | #4 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 305
|
Для одного приложения мне была необходима многопоточность. Я решил использовать IdHTTPServer. Через GET и POST запросы можно отправлять файлы и в одну и в другую сторону.
Возможно в Indy найдется и более подходящий компонент. В моем случае надо было взаимодействовать с программой через браузер. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Клиент-сервер (Сокеты) / Delphi | unreal2x | Помощь студентам | 0 | 24.04.2012 17:50 |
Как отправить видео захват(с веб-Кам.) Клиент->Сервер->Клиент | RODNOC | Мультимедиа в Delphi | 17 | 03.10.2010 22:31 |
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? | Demol | Работа с сетью в Delphi | 1 | 21.04.2009 16:18 |
Опять клиент-сервер. Сокеты. | Atom63 | Работа с сетью в Delphi | 4 | 04.02.2007 21:27 |