void __fastcall TForm1::ssClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
String s= Socket->ReceiveText();
Memo1->Lines->Append(s);
String c= s.SubString(1,1);
String pom;
if(c=="a") {
pom=wiadbuf.ilejest(); Socket->SendText("a"+pom);
// Memo1->Lines->Append(pom);
}
if(c=="d") {
pom=s.SubString(2,s.Length());
int w=pom.ToIntDef(wiadbuf.ilejest());
// Memo1->Lines->Append(w);
// Memo1->Lines->Append(wiadbuf.ilejest());
while(w!=wiadbuf.ilejest()){
String h=wiadbuf.zwroc(w);
Socket->SendText("d"+h);
w++;
}
}
if(c=="j"){
pom=s.SubString(2,s.Length());
wiadbuf.dodaj(pom);
Memo1->Lines->Append(pom);
}
}
problem jest taki że jak ktoś sie do mnie podłącza to serwer dostaje zwisa (tylko czasami)..
troche jak działa: kilka razy na sekunde dostakje wiadomość "d"+liczba i jesli sa jakies noweewiadomosci to je oddaje.. widomość: "j"+tresc to dodaje do wiadbuf a to na początku ("a") to w sumie nieważne.. aha jak ja sie z kompa podłączam na którym serwer działa to wszystko gra b.dobrze i to nawet w kilkunastu okienkach.. coś gdzieś przeczytałem że wypadałoby sklonować jakiegoś socketa ale teraz nie mam pojęcia jak, co i gdzie :/
dodatkowo jeszcze powiem że serwer ma tendencje do łączenia stringów np wychodzi mi "d6d6" zamiast dwóch d6 z tym ze jedno przy następnym wywołaniu funkcji.. co to powoduje??