Witam .
Oto kod:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Okno1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
StatusBar1->Panels->Items[1]->Text = "Brak łącznosci z serwerem...";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::KoniecClick(TObject *Sender)
{
Application->Terminate();// Zamkni porogram
ClientSocket->Close(); // zamykanie gnizada
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PolaczClick(TObject *Sender)
{
if (ClientSocket->Active)
{
ClientSocket->Active = false;
}
if (InputQuery("Połącz z serwerem", "Address Serwera:", AdresServera))
{
if (AdresServera.Length() > 0)
{
ClientSocket->Port= 5555;
ClientSocket->Host = AdresServera;
ClientSocket->Active = true;
//ClientSocket->Open();
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RozlaczClick(TObject *Sender)
{
ClientSocket->Close(); // zamykanie gnizada
StatusBar1->Panels->Items[1]->Text = "Brak łącznosci z serwerem...";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocketClientConnect(TObject *Sender, TCustomWinSocket *Socket)
{
StatusBar1->Panels->Items[1]->Text = "Połączony ...";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocketRead(TObject *Sender,
TCustomWinSocket *Socket)
{
ClientSocket->Socket->ReceiveBuf(tablica, sizeof(tablica));
for(int i=0; i<=10; i++){
TListItem *ElementListy=Lista->Items->Add();
ElementListy->Caption= tablica[i].klucz;
ElementListy->SubItems->Add(tablica[i].imie);
ElementListy->SubItems->Add(tablica[i].nazwisko);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonWysljiClick(TObject *Sender)
{
ClientSocket->Socket->SendText(EditWyslij->Text);
}
//---------------------------------------------------------------------------
i nagłówki
//---------------------------------------------------------------------------
#ifndef Okno1H
#define Okno1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
#include <ComCtrls.hpp>
#include <ScktComp.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TGroupBox *GroupBox1;
TMainMenu *MainMenu1;
TMenuItem *Files1;
TMenuItem *Polacz;
TMenuItem *Rozlacz;
TMenuItem *Koniec;
TMenuItem *N1;
TStatusBar *StatusBar1;
TLabel *LabelDane;
TClientSocket *ClientSocket;
TListView *Lista;
TEdit *EditWyslij;
TButton *ButtonWyslji;
TLabel *LabelPolecenie;
void __fastcall KoniecClick(TObject *Sender);
void __fastcall PolaczClick(TObject *Sender);
void __fastcall RozlaczClick(TObject *Sender);
void __fastcall ClientSocketClientConnect(TObject *Sender, TCustomWinSocket *Socket);
void __fastcall ClientSocketRead(TObject *Sender,TCustomWinSocket *Socket);
void __fastcall ButtonWysljiClick(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
AnsiString AdresServera;
struct
{
int klucz; //klucz glowny, moglby byc tez char klucz[11]; by nie robic juz atoi(row[x])
char imie[64]; //niech to bedzie pole varchar o dlugosci max 64
char nazwisko[64];
}tablica[50];
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Brak jakiejkolwiek reakcji w funkcjach ClientSocketRead i ClientSocketClientConnect a klient łączy się z serwerem Linuxowym na 100%.
I mam taka strukturę
struct
{
int klucz;
char imie[64];
char nazwisko[64];
}tablica[50];
i nie bardzo idzie mi przesłanie jej po sokecie, może ktoś ma doświadczenie z przesyłaniem struktury.
I jeszcze jedno pytanie jak przesyła się zdjęcia np. jpg też w ReceiveBuf i SendBuf?