AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String über Socket senden

Ein Thema von strom · begonnen am 21. Mär 2015 · letzter Beitrag vom 22. Mär 2015
Antwort Antwort
Seite 1 von 3  1 23      
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#1

String über Socket senden

  Alt 21. Mär 2015, 16:15
Hallo möchte gerne mit Delphi
einen String mit SocketClient1 senden.

Es gibt ein Beispiel für Java
Code:
public class ServerTest {
 public static void main(String[] args) throws Exception {
   StringBuffer buf = new StringBuffer();
   buf.append("<event>\n");// Start-Tag
   buf.append(String.format("<address>%s</address>\n", "123test"));// Code
   buf.append(String.format("<message>%s</message>\n", "Hello World"));// Text
   buf.append("</event>");// End-Tag
   try {
          Socket socket = new Socket("localhost", 5555);// 5555 = Default-Port
          OutputStream os = socket.getOutputStream();
          BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
          bw.write(buf.toString());
          bw.flush();
          bw.close();
          os.close();
   } catch (Exception e) {
          e.printStackTrace();
   }
 }
}
Wenn ich mir das Beispiel von Java anschaue, wird der String aufgeteilt!
Wie mache ich das?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
   var
 s: String;
begin
   s := (String.format("<address>%s</address>\n", "123test"));
   ClientSocket1.Socket.SendText(s);
end;
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: String über Socket senden

  Alt 21. Mär 2015, 17:04
Der String wird nicht aufgeteilt, sondern zusammengesetzt. Kannst es folgendermaßen nachbauen:
Delphi-Quellcode:
String.Format(
    '<event>'#10'<address>%s</address>'#10'<message>%s</message>'#10'</event>',
    ['123', 'Text']);
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#3

AW: String über Socket senden

  Alt 21. Mär 2015, 17:05
Die Delphi-Syntax kennst du aber?

\n gibt es so nicht in Delphi
" ist garantiert nicht das Quotierungszeichen für Pascal-Strings
Wie man beim Format die Parameter angibt, solltest du wissen und wenn doch nicht, dann siehe F1
Und nein, wo wird da denn was aufgeteilt? Im Gegenteil, jemand kommt auf die saublöde Idee und bastelt manuell aus einzelnen Strings eine XML-Datei zusammen.
Delphi-Referenz durchsuchenTStringBuilder



So, aber das Wichtigste, warum verwendest du nicht einfach eine richtige REST-API?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#4

AW: String über Socket senden

  Alt 21. Mär 2015, 17:55
Hallo,

wenn ich die Strings durch ein EDit1.Text und Memo1.Text ersetze,
geht es leider nicht mehr.

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
    var
  s: String;
begin
    try
       ClientSocket1.Open;
    s := String.Format(
     '<event>'#10'<address>%s</address>'#10'<message>%s</message>'#10'</event>',
     [Edit1.Text,Memo1.Text]);
    ClientSocket1.Socket.SendText(s);
    finally
      ClientSocket1.Close;
    end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: String über Socket senden

  Alt 21. Mär 2015, 17:58
geht es leider nicht mehr
Sehr präzise
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#6

AW: String über Socket senden

  Alt 21. Mär 2015, 18:05
Stimmt

Das Programm läuft, der Text wird aus dem Memofeld nicht
übernommen.

Hat bestimmt was mit dem Format des Memos zutun oder?
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#7

AW: String über Socket senden

  Alt 21. Mär 2015, 18:11
Jetzt geht alles ?

Danke
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#8

AW: String über Socket senden

  Alt 21. Mär 2015, 18:55
Habe doch noch ein Problem!

Wenn ich kurze Zeit später erneut was senden möchte,
kommt diese Fehlermeldung!





Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
    var
  s: String;
begin
    try
       ClientSocket1.Open;
    s := String.Format(
     '<event>'#10'<address>%s</address>'#10'<message>%s</message>'#10'</event>',
     [Edit1.Text,Memo1.Text]);
    ClientSocket1.Socket.SendText(s);
    ClientSocket1.Close;
    Edit1.Clear;
    Memo1.Clear;
    finally
      ClientSocket1.Free;
    end;
end;
Miniaturansicht angehängter Grafiken
delphi.png  
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#9

AW: String über Socket senden

  Alt 21. Mär 2015, 18:59
Wundert mich nicht.
Zitat:
Delphi-Quellcode:
finally
  ClientSocket1.Free;
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: String über Socket senden

  Alt 21. Mär 2015, 19:01
Immer die gleichen:

Erst die Mutter vor die Tür setzen und sich hinterher beschweren, weil die Bude nicht mehr aufgeräumt wird ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 07:58 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