AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Sehr langen String mit Clientsocket an Serversocket senden..
Thema durchsuchen
Ansicht
Themen-Optionen

Sehr langen String mit Clientsocket an Serversocket senden..

Ein Thema von Evian · begonnen am 27. Feb 2004 · letzter Beitrag vom 4. Mär 2004
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#1

Sehr langen String mit Clientsocket an Serversocket senden..

  Alt 27. Feb 2004, 10:58
Ich möchte gern den Inhalt einer Listbox über die Clientsocket Kombo an eine Serversocket Kombo schicken und dann wieder in einer anderen Listbox Speichern. Dazu versende ich einfach den CommaText und das ist soweit auch gar kein Problem. Wenn der Comatext der ersten Listbox jedoch eine bestimmte Zeichenanzahl übersteigt, wird der der Sendestring nicht mehr als ein Packet abgeschickt, sonder in mehrere Teiler zersplittet. Nun wird es recht schwer den Comatext einfach im ServerSocket1ClientRead zu speichern, da

Code:
Serverlistbox.items.comatext := socket.ReceiveText
bewirken würde, dass nur das letzte Teilpacket in der Serverlistbox gespeichert wird.
Naja ich habe das jetzt so gemacht, dass ich bevor ich den String verschicke, vorhänge wie viele Zeichen der String hat und dann später vergleiche: Hat der empfangene Comatext die Zeichenanzahl des versendeten Comatexts, dann ist alles Prima, ansonsten soll immer wenn ein neues Stringpacket empfangen wird dieses an den Comatext rangehängt werden ... halt eben so lange bis Server Comatext gleich Client Comatext ist.

Mh.. ich schätze jetzt peilt keiner, gar nichts mehr... also zeig ich mal meinen Code;

Code:

// Zum Versenden

procedure Clientform.Button1Click(Sender: TObject);
VAR
send : STRING;
BEGIN
  send := '±±±'+ inttostr(length(Clientlistbox.Items.CommaText)) + '±±±' + Clientlistbox.Items.CommaText;
  socket.SendText(send);
END;

// Emphangen
procedure Serverform.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
VAR
s, sh : STRING;
i : INTEGER;
begin
  s := socket.ReceiveText;;
  FOR i := 1 TO 3 DO sh := sh + s[i];
  IF sh = '±±±' THEN
  BEGIN
    all := FALSE; // Global
    delete(s,1,3);
    laenge := strtoint(copy(s, 1,pos('±±±',s)-1));
    delete(s,1,pos('±±±' ,s) + 2);
    coma := coma + s; // Global
    s := '';
    if length(coma) = laenge THEN
    BEGIN
      all := TRUE; // Global
      Serverlistbox.Items.CommaText := coma;
      socket.Close;
    END;
  END;

  IF all <> TRUE THEN
  BEGIN
    coma := coma + s;
    if length(coma) = laenge THEN
    BEGIN
      all := TRUE; // Global
      Serverlistbox.CommaText := coma;
      socket.Close;
    END;
  END;
END;

Also das funktioniert soweit auch alles Prima. Nur kommt mir das ein wenig zu kompliziert vor, es muss doch auch einen einfacheren Weg geben um lange Strings übers Netz zu versenden, oder?! Hat Jemand eine Idee?!
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Sehr langen String mit Clientsocket an Serversocket send

  Alt 27. Feb 2004, 11:53
Hallo,
der Ausweg ist TWinSocketstream. Dafür musst Du eine blockierende Verbindung
verwenden. ISt sowieso besser.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#3

Re: Sehr langen String mit Clientsocket an Serversocket send

  Alt 27. Feb 2004, 11:59
Öhm hast Du dafür ein Beispiel oder so?! Kann mir darunter nichts
Richtiges vorstellen. Mit Strams hab ich noch nicht wirklich gearbeitet..
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Sehr langen String mit Clientsocket an Serversocket send

  Alt 27. Feb 2004, 12:02
Hallo,
ein Beispiel habe ich z.Z. nicht.
Diese Beispiele erstecken sich immer über endlos viele Codezeilen.
Dadurch sind sie immer ziemlich unverständlich.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#5

Re: Sehr langen String mit Clientsocket an Serversocket send

  Alt 27. Feb 2004, 12:06
Naja bei Google gibt es zum Thema "TWinSocketstream" nicht wirklich was, dass den umgang damitt vertändlich erklärt. Und die Delphi Hilfe beschreibt auch nur Allgemeinen Müll dazu
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Sehr langen String mit Clientsocket an Serversocket send

  Alt 27. Feb 2004, 12:07
Zitat von Evian:
Naja bei Google gibt es zum Thema "TWinSocketstream" nicht wirklich was, dass den umgang damitt vertändlich erklärt. Und die Delphi Hilfe beschreibt auch nur Allgemeinen Müll dazu
Sag ich doch. Weil die funktionierende Beispiele immer aus sehr Codezeilen bestehen.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#7

Re: Sehr langen String mit Clientsocket an Serversocket send

  Alt 27. Feb 2004, 12:09
Und wie soll ich dann damitt arbeiten, wenn ich keine Ahnung habe wie´s funktioniert?! *g*
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Sehr langen String mit Clientsocket an Serversocket send

  Alt 27. Feb 2004, 12:23
Ich habe sowas schon mal gemacht.
Dafür habe ich TClient- und TServerSocket verwendet. Ich viele kleine Testprogramme
geschrieben, bis ich kapiert habe wie es geht. Das ist aber schon solange her,
dass ich mich in das Thema wieder einarbeiten muss um ein Beispiel zu produzieren.

Ich dachte ich mach das mal schnell.

Jetzt kann ich aber TClientSocket und TServersocket in der D7 Pro Komponentenpalette
nicht finden. Ich habe D7 erst seit 5 Wochen. Wo sind die Komponenten geblieben ?
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Sehr langen String mit Clientsocket an Serversocket send

  Alt 27. Feb 2004, 12:48
Zitat von Jens Schumann:
Jetzt kann ich aber TClientSocket und TServersocket in der D7 Pro Komponentenpalette
nicht finden. Ich habe D7 erst seit 5 Wochen. Wo sind die Komponenten geblieben ?
Hier im Forum suchenSockets Delphi7

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#10

Re: Sehr langen String mit Clientsocket an Serversocket send

  Alt 27. Feb 2004, 12:50
Komponente -> Packages installieren -> Hinzufügen
und dann die dclsockets70.bpl aus dem Delphi-bin Verzeichnis laden ... und schwups sind die Sockets unter INTERNET wieder da.
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz