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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2013, 15:00   #1
anghela
Пользователь
 
Регистрация: 21.05.2013
Сообщений: 42
По умолчанию Вопрос по клиент-серверным приложениям

Пишу клиент-серверное приложение с помощью компонентов TClientSocket и TServerSocket. Мне нужно из полей на форме клиента отправлять данные с помощью пакетов на сервер (на сервере бд), там их обработать и отправлять результаты обратно клиенту на форму.
Установила соединение на клиенте:
Код:
 if ClientSocket1.Active then
  begin
    ClientSocket1.Close;
    Exit;
  end;
  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);
begin
  Memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket1.Open;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
   ServerSocket1.Close;
end;
Соединение проходит успешно, но данные на сервере не появляются.
Подскажите в чем ошибка.
Мне нужно передавать данные из текстовых полей, обрабатывать их на сервере, если все хорошо, записать полученные данные в бд, если где-то ошибка - отправить соответствующее сообщение на клиент.
Что мне нужно сделать для этого?
anghela вне форума Ответить с цитированием
Старый 26.11.2013, 15:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ClientSocket1.Open;
ShowMessage('Соединение установлено');
Откуда такая уверенность что установленно?
ИМХО ClientSocket1.Socket.SendText(Edit1 _ssud_schet.Text); нужно вызывать в событии клиента OnConnect.
Цитата:
Мне нужно передавать данные из текстовых полей
Тогда рекомендую бросить классические сокеты Делфи и передавать\принимать компонентами INDI - IdHTTP и IdHTTPServer. Они намного удобнее для передачи текстовых данных.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.11.2013, 16:04   #3
anghela
Пользователь
 
Регистрация: 21.05.2013
Сообщений: 42
По умолчанию

сказали использовать именно клиент и сервер сокет
anghela вне форума Ответить с цитированием
Старый 26.11.2013, 17:05   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ладно. Тогда с коннектом разберись как я предложил. Не дожидаешься ты его ИМХО.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск литературы по клиент-серверным приложениям Aleksandr_Yanov C/C++ Базы данных 0 25.02.2011 22:48
Вопрос по клиент-серверу xStill Работа с сетью в Delphi 0 01.03.2010 14:46
Вопрос по IdHTTP клиент DHK Работа с сетью в Delphi 4 12.01.2009 22:05