problem z Socketem

0

cze

Mam taki maly problemik, dla niektorych pewnie blachostka :
Jest serwer napisany w C, ktory stoi na Linuxie, wysyla do klienta text (String), pozniej liczbe (Integer). Klient napisany jest oczywiscie w Dephi, przez TClientSocket odbiera dane typu String ale na Integer sie krzaczy i zamiast naprzyklad odebrac 123 odbiera |||. Pytanie - jak temu zaradzic ? Zamiana na serwerze Int na Char odpada. Jezeli ktos wie jak to rozwiazac po stronie klienta to bardzo prosze o odpowiedz.

pozdrowki

0

Moze cos zle z separatorem masz ? trudno powiedziec bo nie znam kodu w C co tam tak naprawde wysyla i wjakiej kolejnosci

0

Rozumiem że ostatnie 4 bajty ze stringa to liczba integer, więc:

function Str2Int(s: String): Integer;
var
  Tab : Array[1..4] of Char;
  i : Integer;
begin
  for i := 1 to 4 do Tab[i] := s[i];
  Move(Tab, Result, SizeOf(Result));
end;

var
  Str : String;
  Int : Integer;
begin
  Str := Socket.ReceiveText;
  Int := Str2Int(Copy(Str, Length(Str) - 4, 4));
end;
0

to caly string ma 8 bajtow ?

0

Piechnat dziala !! Big Big THX :>

1 użytkowników online, w tym zalogowanych: 0, gości: 1