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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2007, 00:38   #1
SPQR
Пользователь
 
Регистрация: 23.10.2007
Сообщений: 30
По умолчанию Создать клиент и сервер. Delphi

Мне нужно создать программу Сервера и Клиента.
Опишу как это выглядит: Есть клиент, БД и сервер. В клиенте содержится функции редактирования информации и ее просмотр. Также разумеется функция загрузки Базы Данных. После того как в клиенте загрузить и отредактировать что либо в БД, то после нажатия на кнопку - идет обращение к серверу, где информация заменяется. Ну вот собственно и все.
Очень вас прошу в следующем: Разумеется уговаривать вас не стану написать мне под корень такую систему целую разумеется делать сам буду, поэтому, дайте мне примерный исходник программы хотя бы слабого аналога того, что нужно мне и ссылку где можно почитать подробно и понятным языком все, что мне требуется для создания оной программы! Очень вас прошу, уважаемые. Спасибо.
SPQR вне форума Ответить с цитированием
Старый 12.11.2007, 00:44   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Ну раз задача стоит таким образом посоветую дельфийские компоненты для передачи данных по сети на TCP/IP. TServerSocket и TClientSocket. Оформите пакеты запросы и т.п. просто как строки ( деление данных текста на пакеты ввиде строк валяются на каждом 2м ресурсе в интернете ). Если требуеться более сложное построения пакетов запросов посоветую создать все на WinSock Api ( если конечно для Вас это не составит трудности ).
BOBAH13 вне форума Ответить с цитированием
Старый 12.11.2007, 00:50   #3
SPQR
Пользователь
 
Регистрация: 23.10.2007
Сообщений: 30
По умолчанию

Трудности это, уважаемый Владимир, составит большой. Даже приведу пример более корректно поставленной мною задачи: У меня имеется БД студентов колледжа. Вся информация о них и пр. в деканат необходимо поставить поставить клиенту и сервер на другой компьютер, к которому будет обращаться клиент. С помощью чего мне лучше это сделать - я не знаю, ибо с оной проблемой еще не сталкивался, вот и интересуюсь что бы вы мне могли посоветовать в данной ситуации.
SPQR вне форума Ответить с цитированием
Старый 12.11.2007, 09:19   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Я думаю лучше сделать на WinApi ( но если не хочеться возиться с сокетами то на T*Socket ( те что я выше описал )) а потом в отедльном юните описать типа такого:

сам типа

PPacket = ^TPacket;
TPacket = packed record
Header: WORD; // Ваш какой-то индефикатор ну допустим тот же $FFFF
Msg: DWORD; // индификатор сообщения - по нему и определите какие данные пришли
Num: DWORD; // Номер пакета, в ходе работы просто при отсылки увеличиваеться на 1
DataSize: DWORD; // Размер пакета
// ну и тут указатель на пакет в нашем случае
Data: Pointer;
end;

так же можно пойти дальше и описать Data

PDataPacket = ^TDataPacket;
TDataPacket = packed record
// тут два вариант юзать как куча памяти и описать пару процедур получения данных по указателю с определенным описанием или сделать описание данного типа как выбора
case Integer of
1: (
// тут определленые по типу данные
);
...
end;

function SendPacket(Socket: TSocket; Packet: PPacket): Integer;
function RecvPacket(Socket: TSocket; Packet: PPacket): Integer;
function MakePacket(Msg, Num: DWORD; Data: Pointer): PPacket;

function MakePacket(Msg, Num: DWORD; Data: Pointer; DataSize: DWORD): PPacket;
var
p: PPacket;
begin
new(p); // ну для удаления из памяти dispose(PPacket);
p.Header := $FFFF; // ну для примера
p.Msg := Msg;
p.Num := Num;
p.DataSize := DataSize;
p.Data := Data;
// все пакет сформирован
Result := p;
end;

всю отправку, прием пакетов и т.п. писать не буду есть очень хороший пример ( ну покрайней мере я так считаю ) на моем сайте http://nemecsx.narod.ru/mmpclient.rar недавно его еще писал...

p.s. ну думаю помог просто я сильно не юзал компоненты, пытаюсь это обходить, предпочитаю Api

Последний раз редактировалось BOBAH13; 12.11.2007 в 09:24.
BOBAH13 вне форума Ответить с цитированием
Старый 12.11.2007, 12:48   #5
SPQR
Пользователь
 
Регистрация: 23.10.2007
Сообщений: 30
По умолчанию

Владимир: Благодарю вас. Очень помогли. Спасибо
SPQR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД Access & ADO Delphi (клиент-сервер) Andre1723 БД в Delphi 14 05.05.2011 15:13
посчитать какая доставка для клинта 10-я? Delphi (Клиент-Сервер) Vindigo Помощь студентам 6 27.01.2008 15:28
Клиент-сервер-клиент Кронос Работа с сетью в Delphi 3 24.08.2007 07:57
Я новичок в Delphi,но хор. знаю SQL с прилож. клиент-сервер ктонибудь подскажет? alsq Работа с сетью в Delphi 3 11.03.2007 19:03