Aktuelle Zeit: 22.01.2018 08:11

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: SendNetworkString
BeitragVerfasst: 12.01.2018 10:00 
Offline

Registriert: 19.10.2014 15:51
Ich benutze bei meinem kleinen Server
Ergebnis = SendNetworkString(Verbindung, String$ [, Format])

"Ergebnis" zeigt mir immer an, dass der String gesendet wurde. Das ist aber ab und zu nicht der Fall.
Kann es sein, dass dann gerade die "Leitung" vom TCP geblockt wurde?
Wie kann ich sicher erfahren, ob ein String beim Client angekommen ist?

_________________
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SendNetworkString
BeitragVerfasst: 12.01.2018 10:30 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Eigentlich ist TCP genau dafür da, um sicherzustellen, dass die gesendeten Pakete ankommen.
Ansonsten kann dein Client nach Erhalt des Paketes einfach ein Bestätigungspaket zurücksenden. Dann kannst du auch gleich UDP verwenden, weils schneller ist.

_________________
BildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SendNetworkString
BeitragVerfasst: 12.01.2018 10:35 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
ich würde eigentlich auch eher schauen, ob der Fehler nicht auf der Seite des Empfängers liegt.

Grüße ... Peter

_________________
einfach ist schwierig


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SendNetworkString
BeitragVerfasst: 12.01.2018 10:37 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
stevie1401 hat geschrieben:
"Ergebnis" zeigt mir immer an, dass der String gesendet wurde.

Nein, das stimmt leider nicht.
Das Ergebnis zeigt dir nur an, dass der String erfolgreich in den Netzwerk-Puffer kopiert wurden und zum Versenden bereit steht.
Ich verweise an dieser Stelle immer gerne auf folgende Diskussion:
http://www.purebasic.fr/german/viewtopic.php?p=307857#p307857

stevie1401 hat geschrieben:
Kann es sein, dass dann gerade die "Leitung" vom TCP geblockt wurde?

Was meinst du mit geblockt?

stevie1401 hat geschrieben:
Wie kann ich sicher erfahren, ob ein String beim Client angekommen ist?

Da das TCP-Protokoll bereits ein Handshake enthält, kommen gesendete Daten immer an, außer einer der beiden NetzwerkPuffer läuft voll oder einer verlässt die Verbindung.
Um sicher zu gehen, sollte der Client einfach etwas zurück schicken (zB Prüfsumme des erhaltenen Strings), die der Server abgleicht.

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SendNetworkString
BeitragVerfasst: 12.01.2018 21:27 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
Zitat:
Um sicher zu gehen, sollte der Client einfach etwas zurück schicken

Eigentlich ist das unnötig, man muss allerdings ein wenig WinAPI benutzen, um zu wissen was das eigentliche Problem ist.
Siehe mögliche Fehlermeldungen hier:
https://msdn.microsoft.com/de-de/library/windows/desktop/ms740149(v=vs.85).aspx

Mit "geblockt" meinte er übrigens WSAEWOULDBLOCK, das sieht man in der Tat gelegentlich

_________________
Link tot?
Ändere h3x0r.ath.cx in hex0rs.coderbu.de und alles wird gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SendNetworkString
BeitragVerfasst: 15.01.2018 09:59 
Offline

Registriert: 19.10.2014 15:51
Erst einmal danke für eure Tips.
Ich suche verzweifelt einen funktionierenden Code für einen TCP-Server, der mit Threads läuft. Ich bekomme das mit dem Threads und dem Senden einfach nicht zuverlässig hin.

_________________
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SendNetworkString
BeitragVerfasst: 15.01.2018 10:43 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Der Code ist ein wenig heftig, zeigt aber die Verwendung von Threads und die Verwaltung von Clients.

Link: viewtopic.php?f=8&t=29743

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SendNetworkString
BeitragVerfasst: 15.01.2018 14:12 
Offline

Registriert: 19.10.2014 15:51
Jo, sieht sehr "massiv" aus. Ich schaue mal, ob ich davon irgendetwas verstehe.
Erst einmal vielen Dank!

_________________
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye