Mam problem z komunikacją pomiędzy ClientSocket oraz ServerSocket. Obie aplikacje widzą się poprawnie.
Problem jest w tym, że przy przesyłaniu wiadomości tekstowych widać po obu stronach (w zalezności która przesłała) tzw. 'krzaki'. Oba programy napisane są w Builder 2009. W starym Builderze 5/6 tego problemu nie było, jednak tam domyslnym typem zmiennych był AnsiString. Domyslam się, że w nowym środowisku chodzi o typ zmiennych (wide?/ansi?/char?), jednak tutaj wypróbowałem chyba juz wszystkie kombinacje a i tak pojawiają się te 'krzaki'.
Po stronie serwera:
-odebranie danych od klienta
- Kod: Zaznacz cały
Memo1->Lines->Add(Socket->ReceiveText().Trim());
-wysłanie danych do klienta
- Kod: Zaznacz cały
for(int x = 0; x < ServerSocket1->Socket->ActiveConnections; x++)
{
ServerSocket1->Socket->Connections[x]->SendText(Memo2->Text.Trim());
}
Po stronie klienta:
-odebranie danych z serwera:
- Kod: Zaznacz cały
Memo1->Lines->Add(Socket->ReceiveText().Trim());
-wysłanie danych do serwera:
- Kod: Zaznacz cały
ClientSocket1->Socket->SendText(Memo2->Text.Trim());
Wie ktoś jak poprawnie przesyłac tekst przy wykorzystaniu tych komponentów w środowisku Builder 2009/2010?
PS. komponenty client/server socket można zainstalować na podstawie tej instrukcji http://support.codegear.com/article/36470
Widok krzaków w obu aplikachach:







