Das Leidige Thema: Socket->ReceiveBuf und SendStream



  • ES GEHT! ICH DANKE EUCH ALLEN HERZLICHST!!

    ES GEHT!!! JUPPI!!

    Ich hab´s jetzt mir SendStream gemacht, das Bild kommt an, ABER:
    es kommen Zugriffsverletzungen ohne Ende, und das Programm ist nicht mehr nutzbar (Client).

    Ich weiss net ob das umbedingt neuer Thread muss, da es ja mit dem Prob zu tun hat...

    NOCHMAL DANKE!!!

    J0



  • OK: ICH HABS HINBEKOMMEN!

    Wenn ich vom ServerSocket aus sende, kommt das Bild 1a an!

    DANKE NOCHMAL AN ALLE DIE MIR GEHOLFEN HABEN!

    J0



  • Ich möchte gerne per Client ein bild senden nicht mit dem Server ist das irgendwie möglich??



  • Äh ja? selbstverständlich ist das auch umgekehrt möglich. genau so wies vom server zum Client geht... ich versteh die Frage jetzt glaub ich nicht ganz?

    -junix



  • ich versuche garde etwas ähnliches,will ein bild aus einem memorystream verschicken,da kommt nur 1/10tel der daten an,hab jetzt mal ne abfrage eingebaut ob der stream auf der empfängerseite gleichgross ist wie der auf der senderseite,wenn dem nicht so ist werden die gesendeten daten in den empfängerstream dazu gelesen,bin so aber auch nur auf ca 50% der länge gekommen:

    if(stream==true)
            {
                    int CharsToReceive_int = Socket->ReceiveLength();
                    BYTE *Buffer_BYTEp = new BYTE[CharsToReceive_int];
                    Socket->ReceiveBuf(Buffer_BYTEp, CharsToReceive_int);
                    ReceiveStream->Position;
                    ReceiveStream->Write(Buffer_BYTEp, CharsToReceive_int);
                    if(StreamSize<=ReceiveStream->Size)
                    {
                            stream=false;
                            Image1->Picture->Bitmap->LoadFromStream(ReceiveStream);
                    }
                    delete [] Buffer_BYTEp;
            }
    

    hab n kleinen fehler gefunden,aber jetzt bekomme ich zuviele daten 🙂



  • Jetzt hätte JO uns aber auch mal seine endgültige Lösung zeigen können, geht das jetzt noch?


Anmelden zum Antworten