Sockety i przesyłanie długiego tekstu

0

Jak przesyłam tekst przez sockety (te standadtowo dołączone do Delphi 5 Ent.) to mi go ucina. Nie mogę przesłać tekstu dłuższego niż 4000 znaków. Raz przesyła tylko 3200, raz 3800... Próbowałem podzielić na takie po 1000 i przesłać jeden po drugim, bo socket łączy pakiety, jeżeli przychodzą w małych odstępach czasu, ale to nie działa. Nie mówcie tylko, żebym używał Indy, proszę.

Dzięki z góry [browar]
Cimak [cya]

0

Rób sobie nagłówki -
np.
DaneDlugosc := FormatFloat('0000', length(wysylaneDane));
Dowyslania:=DaneDlugosc+#1+WysylaneDane;
i wtedy sprawdzasz w serwerze:
length(DaneDlugosc) = 4
#1 = 1
Length(WysylaneDane) = X
i robisz w serwerze:
if not( ReceiveLength-5=StrToInt(Odbierane[1]+Odbierane[2]+odbierane[3]+odbierane[4])) then
begin
//anuluj ten pakiet
//jeśli jednak temu się równa przesyłaj i interpretuj
end;
//pisałem to z głowy więc może być coś nie tak
w każdym razie to jest chyba najprostsze rozwiązanie - jeśli w ogóle rozumiem o co ci chodzi...

0

Sanctus jemu chodzilo chyab bardziej o to aby wyslac text w calosci a ten kod powoduje rodzielanie i sprawdzanie poprawnosci pakietu.

cimak musisz wysylac text tak jak pliczki czyli wysylasz po 1000 znakow i jak dojdzie do odbiorcy to ten wysyla informacje np OK i wtedy po odebraniu tego OK wysylasz kolejnde 1000 az sie skonczy caly text. PROSTE!

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