Форум: "Сети";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];
ВнизНужен совет по Сокетам Найти похожие ветки
← →
msoftware (2003-04-09 09:10) [0]Приветствую! Нужен дельный совет по TClientSocket и TServerSocket.
Меня не устраивает размещение серверной и клиентской частей в разных программах, поэтому клиентскую часть я размещаю в программе, а серверная у меня запускается потоком при создании формы. Дак вот рационально ли я делаю. Ведь можно было бы просто разместить на одной форме TClientSocket и TServerSocket?
← →
Calm (2003-04-09 09:13) [1]Это нерационально.
Ты не понимаешь сути клиент-серверной архитектуры.
← →
Digitman (2003-04-09 09:32) [2]если ты сотворяешь прокси-сервер, то делай как угодно - хоть потоком хоть в design-time на форме ... что в лоб что по лбу) .. лишь бы была четкая синхронизация транспортных алгоритмов и кодовых потоков в ходе работы процесса такого прокси-приложения
← →
Spartak (2003-04-09 09:34) [3]посмотри пример .../delphi/demos/internet/chat
← →
msoftware (2003-04-09 09:53) [4]Так значит смешивать в одном приложении и Серверную и Клиентскую архитектуру нельзя? Я правильно вас понял?
← →
Digitman (2003-04-09 09:57) [5]
> Так значит смешивать в одном приложении и Серверную и Клиентскую
> архитектуру нельзя? Я правильно вас понял?
неправильно. все зависит от конкретно поставленной задачи
← →
msoftware (2003-04-09 10:03) [6]Digitman © (09.04.03 09:57)
Так значит мой способ не будет работать между компами? Просто локально оно работает. Может вместе протестируем, я пришлю исходник?
← →
Digitman (2003-04-09 10:18) [7]
> msoftware
> Так значит мой способ не будет работать между компами?
Я не знаю, что ты подразумеваешь под своим "способом".
Есть такое понятие - "постановка задачи". Потрудись детально описать здесь то, что тебе требуется реализовать в конечном итоге. А присылать исходник непонятно чего без конкретной постановки задачи нет никакого смысла
← →
msoftware (2003-04-09 10:24) [8]Нужно чтобы прога была понятна всем. Ведь я ориентируюсь на безграмотного юзера, который игрушку даже нормально поставить неможет. А ему ещё скажи открой это, открой то. "Нафиг тогда это надо", он скажет, "запишу ка я Аску лучше".
Может сделать по-другому:
Пользователь открывает клиентское приложение, и одновременно вместе с ним в фоновом режиме открывается другое приложение - сервер. И клиентская и серверная часть тогда окажутся отдельно.
Как вы считаете господа ?
← →
msoftware (2003-04-09 10:31) [9]Digitman © (09.04.03 10:18)
Я не знаю, что ты подразумеваешь под своим "способом".
Отвечаю: Под своим способом я подразумеваю вот что:
1. Запускается эта самая прога, вместе с ним поток. В этом самом потоке создается TServerSocket. Ему указывается порт и прочие координаты.
2. Пользователь нажимает "Соедениться" и клиент соеденяется с Сервером.
Надеюсь я Нормально "разжувал" что хотел сказать.
← →
Palladin (2003-04-09 10:51) [10]
>Серверную и Клиентскую архитектуру нельзя
архитектура одна: Клиент-сервер (Карл Маркс Фридрих Энгельс это два человека, а не четыре)
У сервера свои задачи, у клиента свои. Клиент в основном обеспечивает работу с пользователем, сервер выполняет запросы клиента и возвращает данные...
и писать все в одной программе это по крайней мере идеологически не верно...
← →
Digitman (2003-04-09 10:51) [11]ответь на простой вопрос : зачем на машине клиента (т.е. той машине, где будет работать клиентская логика) нужна еще и серверная логика ? У тебя что, какждый клиент будет осуществлять соединение с самим-собой ? А-ля "тихо сам с собою я веду беседу" ?
Классическая схема - в сети есть машина-"сервер", на которой работает серверное приложение (использующее, скажем, тот же TServerSocket), в сети есть другие машины, на каждой из которых работает клиентское приложение (TClientSocket). Клиенты на кл.машинах осуществляют коннект к серверному приложению на машине-"сервере", серверное приложение принимает запросы от удаленных клиентов, обрабатывает эти запросы и возвращает результаты обработки по индивидуальным установленным каналам связи с клиентами
← →
AlexMax (2003-04-09 20:45) [12]Да ваще!!! Зачем пользоваться этими глючными Client/ServerSocket"ами??? Надёжнее и универсальнее было бы написать через WinSock функции, тем более, что в отличие от многих других виндовых библиотек, для WinSock есть готовый юнит. И там, я думаю, не понадобится создавать клиента и сервера. Один сокет будет служить и клиентом и сервером.
← →
Digitman (2003-04-10 08:39) [13]
> AlexMax
> Зачем пользоваться этими глючными Client/ServerSocket"ами???
>
Чушь. Никаких "глюков" нет. По кр.мере - в Д5
> Один сокет будет служить и клиентом и сервером
Тоже - чушь. Требуется как минимум 2 явно создаваемых гнезда : одно - "слушающее" серверное (+1 - неявно, в случае сервера ,см. WSAAccept()) и/или другое - клиентское
← →
msoftware (2003-04-10 08:43) [14]Слухайте тогда вот что: я слышал что по протоколу UDP можно обходиться без сервера. То-есть клиент играет роль и сервера и клиента.
Источник из моей книжки "Delphi 5 Учебный курс"(С.Бобровский)
← →
Digitman (2003-04-10 09:19) [15]Да, можно.
но UDP - протокол без гарантии доставки пакетов. Кр.того имеет определенные ограничения. Учитывай это при выборе.
см. http://book.itep.ru
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c