30. april 2002 - 14:37Der er
11 kommentarer og 1 løsning
File stream
Hej
Jeg er ved at prøve at få noget kode til at fungere. Den ene sender den anden modtager.. Problemet er at jeg kan godt sende det, men den som modtager får ikke noget, kun den fil som der bliver oprettet: FileCreate("NyFil.zip"); Og den fylder 0 Kb, og det er ret Ufedt...
----Server---- Memo1->Lines->Add("Reciving file..."); unsigned ch; int H; H = FileCreate("NyFil.zip"); while (Socket->ReceiveBuf(&ch,1)==1) { FileWrite(H,&ch,1);
} FileClose(H); -------------------
----client--------- TFileStream *F; F = new TFileStream("Stream1.zip",fmOpenRead); Client->Socket->SendStreamThenDrop(F); -------------------
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
En Serversocket kan have flere clientsockets åben ad gangen. Derfor har den en liste af socket (Connections). I dit eksempel går jeg ud fra du kun har en client på, så derfor skal du explicit udpege den socket connection, som du vil læse fra:
while (Socket->Connections[0]->ReceiveBuf(&ch,1)==1)
Hey sorry ventetiden..Har lige været til Kbh Rap i Rust..Det var for vildt...Nå men nej, ikke helt...Den sender ja, men ikke som jeg ville have den til..
Det er ligesom at man har en server og nogle clienter...Enten serveren eller en client vælger at sende en fil til en anden..F.eks server eller en anden client....
Men jeg kan ikke få det til at virke sådan helt sådan som jeg beskriver.
Hvis du har en Server og mange clienter, som alle har connected sig til serveren, så bliver du nød til at holde styr på de enkelte connections hos serveren. dvs at.
Den første client ligger på: Socket->Connections[0] Den anden client ligger på: Socket->Connections[1]
Jeg kan nok ikke lige sige helt præsist hvad der er i vejen, men du sendte mig jo her for et stykke tid siden et eks med server og client til file streaming... Men for at gøre det nemmere, eller hvis det er det, så har jeg besluttede mig for at det skal fungere således, at man skriver (angiver), den IP-adresse på den som man vil sende filer til.
-------------- unsigned ch;
Hvad er dette?? --------------- while (Socket->Connections[0]->ReceiveBuf(&ch,1)==1)
Hvad betyder dette "1" tal, og "&ch" ????? -----------------
Hov, jeg ser lige, at du i dit oprindlige kode angiver ch som en unsigned. Det skal være en unsigned char
----Server---- Memo1->Lines->Add("Reciving file..."); unsigned ch; <----- skal være "unsigned char ch;" int H; H = FileCreate("NyFil.zip"); while (Socket->ReceiveBuf(&ch,1)==1) { FileWrite(H,&ch,1);
Ok...Fordi jeg ved godt hvad en Unsigned er generelt, men en "unsigned ch", var jeg lidt i trivl om..Det kunne da godt være at den skulle så sådanne ud...Men ok......
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.