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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2012, 21:01   #1
L'olechka
 
Регистрация: 10.05.2009
Сообщений: 3
По умолчанию Клиент-сервер на C++Builder

Здравствуйте! Помогите пожалуйста исправить ошибку. Вот задание: клиентская программа оправляет на сервер пару целых чисел a и b, а также символ арифметической операции «+», «-», «*», «/» (числа и знак операции задаются через пользовательский интерфейс клиента), а сервер возвращает результат выполненной арифметической операции. Если происходит деление на 0, то сервер возвращает сообщение об ошибке «Divide overflow».

Вот часть программы клиента которая отвечает за отправку данных:
Код:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int a, b;
AnsiString z;
a=StrToInt(Edit2->Text);
z=Edit4->Text;
b=StrToInt(Edit3->Text);
ClientSocket1->Socket->SendText(a);
ClientSocket1->Socket->SendText(z);
ClientSocket1->Socket->SendText(b);
}
Часть программы сервера которая отвечает за отправку результата вычисления клиенту:
Код:
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{int i, a, b, c;
AnsiString  z, s;
Memo1->Lines->Add(Socket->ReceiveText());
{
s=Socket->ReceiveText();
for (i = 0; i < Memo1->Lines->Count; i++)
{
 if (s==a+b) c=StrToInt(a+b); 
 }
}
Socket->SendText(c);
}
Проблема в том, что сервер отправляет клиенту 0.

Последний раз редактировалось Stilet; 12.11.2012 в 21:37.
L'olechka вне форума Ответить с цитированием
Старый 12.11.2012, 21:19   #2
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию

в отправке я что-то не пойму зачем нужна лишняя пара фигурных скобок?(вторые по счету)
А так бы попробовали отправлять не по одному символу, а сразу всю строку, т.е. если надо к 1 прибавить 10, то отправляете 1+10, а на стороне сервера уже бы разбивали строку и считали
koljsch вне форума Ответить с цитированием
Старый 12.11.2012, 21:24   #3
L'olechka
 
Регистрация: 10.05.2009
Сообщений: 3
По умолчанию

а каким методом разбивать строку на стороне сервера?
L'olechka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отправить видео захват(с веб-Кам.) Клиент->Сервер->Клиент RODNOC Мультимедиа в Delphi 17 03.10.2010 22:31
Builder и Delphi клиент сервер maldun Общие вопросы C/C++ 0 26.04.2010 15:15
сервер+клиент+клиент на телефон Razyiller Работа с сетью в Delphi 3 01.04.2010 20:10
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? Demol Работа с сетью в Delphi 1 21.04.2009 16:18