AGB  ·  Datenschutz  ·  Impressum  







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

\0 im String?

Ein Thema von Pseudemys Nelsoni · begonnen am 11. Mär 2006 · letzter Beitrag vom 11. Mär 2006
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

\0 im String?

  Alt 11. Mär 2006, 20:12
Moin,

ich versuche gerade Daten aus einem Socket zu lesen und das solange, wie er connected ist, das funktioniert auch soweit, nur habe ich in meinen Strings manchmal sehr viele "\0" am Anfang....der Server sendet sie auf keinem Fall... Weiss jemand woher sowas kommen kann? Hier ein Screen: http://www.stdcall.de/ffs8.PNG

Wodurch kann sowas entstehen? Senden tut der Server sie nicht wie gesagt.
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#2

Re: \0 im String?

  Alt 11. Mär 2006, 20:20
Hi,

könnte daher kommen, dass du (oder der Server - woher willst du wissen, dass er das nicht sendet? Kennst du den Quelltext?) auf leere PChars zugreifst und diese zusammengefügt werden, PChars werden nämlich mit \0 abgeschlossen. Ich würde das Zeichen einfach ignorieren.

cu
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: \0 im String?

  Alt 11. Mär 2006, 20:25
Es ist ein IRC Server(euIRC), der sendet sowas nicht, das darf kein IRC Server, da das im rfc fest definiert ist wie die parameter dazustehn haben. Und das ist: [Prefix <Space>] <Command> <Paramater><CRLF>

also es gibt höchstens 1 leerzeichen der die parameter trennt und ein abschliessendes #13#10...aber nicht so ein schnickschnack wie #0#0#0#0#0#0.

Ich muss im Code irgendwo selbst diese Nullen reinpacken(was ich aber ja nicht möchte) nur weiss ich nicht wo. Und wie ich sie rausbekomme weiss ich auch nicht
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#4

Re: \0 im String?

  Alt 11. Mär 2006, 20:35
Hi,

ich wäre mir da nicht so sicher, was IRC-Server alles machen, obwohl's nicht im RFC festgehalten ist .
Schau doch mal mit Ethereal oder einem anderen Packetsniffer, was tatsächlich über die Leitung geht - nur um eine Fehlersuche an der falschen Stelle auszuschließen (ich hab solche Zeichen aber ehrlich gesagt auch noch nie im IRC empfangen, bin aber auch nicht im euIRCnet).

cu
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: \0 im String?

  Alt 11. Mär 2006, 21:14
back

ok, habe mit ethereal mal "geschnüffelt" und dort werden die #0 Zeichen nicht mitgesendet...

Übrigens sieht das ganze in der Konsole so aus: http://www.stdcall.de/ffs7.PNG . Die ganzen "spaces" müssen dringend weg, bzw dürfen nicht mit in den String (bei den letzten beiden Befehlen meine ich).

Der einzige Unterschied bei diesen 2 Befehlen ist, dass sie ca 2min nach dem connecten an mich gesendet werden...die anderen gleich sofort beim verbinden... irgendwie müssen die 0-Zeichen während des "nichtskommens" in den string kommen...hmm
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

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

Re: \0 im String?

  Alt 11. Mär 2006, 21:23
Hi,

ich würde Schritt für Schritt debuggen nun: erstmal unmittelbar nach dem Empfangen des Strings durch deine Socketkomponenten, nach jedem weiteren deiner eigenen Bearbeitungsschritte ebenfalls. So solltest du den Fehler recht schnell einkreisen können.

cu
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: \0 im String?

  Alt 11. Mär 2006, 22:34
OT:

@Pseudemys Nelsoni:
Was hast du denn für eine seltsame VS-Version; Die Menuleiste ist auf Englisch und die Toolbars sind auf Deutsch (Fehlerliste, Aufrufliste).
In der Titelleiste steht auch "Debuggen" anstatt von "Debugging".

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:32 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