![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте!
Очень нужна помощь с пакетной передачей данных. Есть клиент с формами для ввода. Данные из текстовых полей нужно отправлять на сервер, обработать их там и отправить ответ клиенту обратно. Желательно с использованием сокетов. Может у кого-то есть примеры подобных программ, скиньте, пожалуйста. Сроки поджимают, нужно сделать очень срочно. И, подскажите, какую СУБД лучше использовать? |
|
#2
|
||||
|
||||
|
Программа для просмотра книг.
http://windjview.joydownload.com/&c=...FYZa3godJS8AaA Сама книга http://rutracker.org/forum/viewtopic.php?t=449552 Всё написано про WinSock. Смотри оглавление Глава 4. Сетевые приложения А какой максимальной длинны будут текстовые данные в каждом поле ? Последний раз редактировалось M.A.D.M.A.N., 30.11.2013 в 20:21. |
| Этот пользователь сказал Спасибо seeman_tm за это полезное сообщение: | ||
anghela (30.11.2013)
| ||
|
#3
|
|||
|
|||
|
Самое большое поле - ФИО полностью, думаю не больше 50 символов
|
|
#4
|
||||
|
||||
|
Какие трудности возникли?
|
|
#5
|
|||
|
|||
|
только не WinSoc, a TClientSocket, TServerSocket из вкладки Интернет
|
|
#6
|
||||
|
||||
|
Цитата:
Я имел ввиду какие у нее трудности сейчас в изучении тех талмудов, что ты ей насовал. Может поможет: http://devdelphi.ru/?p=3267 Последний раз редактировалось M.A.D.M.A.N., 30.11.2013 в 22:00. |
|
#7
|
|||
|
|||
|
Реализация на чистом сокете (WinSock) вариант конечно же идеальный, но только не в случае если сроки поджимают, так как на доскональное изучение этого вопроса в МСДН уйдет месяц.
В Делфи есть компоненты ClientSocket и ServerSocket, они реализованы не самым удачным образом, я бы даже сказал - крайне нерационально, но легки в применении и не требовательны к опыту. Еще как вариант клиента - TWebBrowser, крайне горбатая вещь, жрет ресурсы как мамонт и нуждается в GUI-Паренте, но вопрос клиента решает за 15 минут стука по клаве. |
| Этот пользователь сказал Спасибо paymer-soft.com за это полезное сообщение: | ||
seeman_tm (01.12.2013)
| ||
|
#8
|
|||
|
|||
|
именно с помощью клиент и сервер сокет мне и нужно реализовать программу. Только как это сделать? Пишу соединение с сервером для TClientSocket:
Код:
ClientSocket1.Host:='78.85.164.232';
ClientSocket1.Port:=1001;
ClientSocket1.Open;
ShowMessage('Соединение установлено');
ClientSocket1.Socket.SendText(Edit1_ssud_schet.Text);Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var mail:String;
begin
mail:=Socket.ReceiveText;
Memo1.Lines.Add(mail);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket1.Open;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ServerSocket1.Close;
end;
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('Подключился клиент с IP адресом '+Socket.RemoteAddress);
end; |
|
#9
|
||||
|
||||
|
Ты по моей ссылке ходила?
|
|
#10
|
||||
|
||||
|
А тебе сервер нужен многопоточный ? В смысле, чтоб сразу несколько клиентов могло на нем сидеть ?
Добавь строки Код:
ClientSocket1.Active := False;
ClientSocket1.Host:='78.85.164.232';
ClientSocket1.Port:=1001;
ClientSocket1.Active := True;
ClientSocket1.Open; // Лучше заменить на ClientSocket1.Connect Или совсем убрать. От неё смысла нету. После активации сокета он сразу сам подключается.
If Not ClientSocket1.Conneted Then
Begin
ShowMessage('Соединение не установлено');
Exit;
End;
ShowMessage('Соединение установлено');
ClientSocket1.Socket.SendText('Дарова серв.');Сделал сервер и клиент. Если нужно будет, то не долго переделать сервер в многопоточный. Мыло в личку, скину исходники. Сервер меняет регистр символов в принятых от клиента данных и возвращает клиенту. Объём данных, пересылаемых между клиентом и сервером, не ограничен. Так же можно прикрутить к данным некую структуру, и по структуре на сервере обрабатывать. Последний раз редактировалось M.A.D.M.A.N., 02.12.2013 в 08:52. |