Форум: Форум C++Разное
Новые темы: 00
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Клиент-сервер в C++ Builder. Что почитать?
 
 автор: Temnovit   (14.05.2008 в 13:01)   письмо автору
 
 

Здравствуйте!

Собираюсь писать приложение в C++ Builder состоящие из сервера, работающего с SQL базой (FireBird, MySQL или SQLite) и клиента, которые все это дело просматривает.

Раньше не много программировал на c++, но с сетью и базами данных не работал.

Посоветуйте пожалуйста книгу или статью, которая бы охватила эти вопросы.

Заранее благодарен!

  Ответить  
 
 автор: cheops   (18.05.2008 в 12:40)   письмо автору
 
   для: Temnovit   (14.05.2008 в 13:01)
 

Лучше ориентироваться на книгу А.Я. Архангельский, М.А. Тагин. Программирование в C++ Builder 6 и 2006.

  Ответить  
 
 автор: XPyCT   (24.07.2008 в 10:13)   письмо автору
 
   для: Temnovit   (14.05.2008 в 13:01)
 

Может это поможет! когдато по примеру делал!

/---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Chat.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 ServerSocket1->Active=true;
 // Делаем недоступную "Соединиться" (так как мы уже сервер)
 Button3->Enabled=false;
 // Делаем доступную "Отключиться" (понятно зачем)
 Button4->Enabled=true;
 Memo1->Lines->Add("Сервер создан");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  // Присваиваем Клиенту Ай-Пи из Эдита
ClientSocket1->Address=Edit3->Text;
ServerSocket1->Active=true;
// Делаем недоступную "Создать" (так как мы коннектимся)
Button2->Enabled=false;
// Делаем доступную "Отключиться" (понятно зачем)
Button4->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
Memo1->Lines->Add("Клиент подсоеденился");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Connecting(TObject *Sender,
      TCustomWinSocket *Socket)
{
 Memo1->Lines->Add("Вы присоедены");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
////Это была обработка исключительных ситуаций , типа пустых строк ввода ;
if(Edit2->Text=="")
{
ShowMessage("Введите ваш ник");
return;
}
if(Edit1->Text=="")
{
ShowMessage("Введите текст который надо отправить");
return;
}
Memo1->Lines->Add(Edit2->Text+"::"+Edit1->Text);
if(ServerSocket1->Active==true)
{
 ServerSocket1->Socket->Connections[0]->SendText(Edit2->Text+"::"+Edit1->Text);
}
 else
 {
  ClientSocket1->Socket->SendText(Edit2->Text+"::"+Edit1->Text);
 }
  Edit1->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
      TCustomWinSocket *Socket)
{
Memo1->Lines->Add(Socket->ReceiveText());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
Memo1->Lines->Add(Socket->ReceiveText());
}
//----------------------------------------------

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования