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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2012, 00:17   #1
_Den_1984
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 54
По умолчанию Сокеты клиент-сервер

Доброго времени суток, уважаемые форумчане.Решил обратиться к вам потому-что не знаю то-ли я чего-то не доганяю то-ли запутался. Заранее прошу извинить за много букф. Кароче говоря сейчас пишу клиент серверное приложение работающее через сокеты (ServerSocket, ClientSocket) смысл просто клиенты обращаются к серверу путем запросов, в соответсвии с которыми сервр отправляет им файлы разного рода (объем файлов в пределах сотен килобайт), в принципе так как сервер работает только на передачу файлов то реализовал все без проблем клиент присылает серверу строку вида "Идентификатор# имя файла#объем" либо "Идентификатор# имя директории откуда нужно забрать файлы" сервер обрабатывает и отправляет файлы. у Меня два вопроса
первый. Множественные подключения я реализавал путем многократного запуска одних и тех же процедур (директива overload) то есть на сервере для каждого клиента запускаются одинаковые для всех процедуры и функции. В связи с чем вопрос не скажется ли это на работоспособности сервера когда количество клиентов перевалит за сотню а то и несколько сотен. запуск одних и тех же функций сотню раз меня настараживает.
Второй вопрос. Пожалуй самый важный. Появилось требование что-бы и сервер мог получать от клиентов файлы. И вот тут я немного встрял. как при одновременном обращении множества клиентов работать с кем-то на прием файлов с кем-то на передачу, ведь, если я правильно понимаю, когда сервер переключится на прием файла он будет принимать все в том числе и запросы на получения файла и следовательно не сможет отделить команду на получения файла и от клиента и байты передаваемого ему файла от другого клиента. Может есть какой-то способ реализации через отдельные потоки.
Мало опыта работы с сокетами. Ткните пожалуйста в инфу где можно почитать про аналогичные задачи или поделитесь опытом. Любые советы и личный опыт приму к сведению.
резюмиря мою поэму - как написать клиент-серверное приложение чтобы оно работало на прием-передачу файлов отклиента к серверу и наоборот. Заранее спасибо
_Den_1984 вне форума Ответить с цитированием
Старый 18.08.2012, 11:13   #2
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Используй специальные компоненты, более высокоуровневые. И первый и второй вопрос легко решается.
Kix.IV вне форума Ответить с цитированием
Старый 19.08.2012, 15:33   #3
_Den_1984
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Kix.IV Посмотреть сообщение
Используй специальные компоненты, более высокоуровневые. И первый и второй вопрос легко решается.
А что за компоненты, можно по-подробнее. Была мысль покопать в сторону Indy, но думаю ты не об этих компонентах говоришь.
_Den_1984 вне форума Ответить с цитированием
Старый 19.08.2012, 15:56   #4
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Для одного приложения мне была необходима многопоточность. Я решил использовать IdHTTPServer. Через GET и POST запросы можно отправлять файлы и в одну и в другую сторону.
Возможно в Indy найдется и более подходящий компонент. В моем случае надо было взаимодействовать с программой через браузер.
kangreon вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Клиент-сервер (Сокеты) / 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