SendNetworkString
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
SendNetworkString
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?
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 nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: SendNetworkString
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.
Ansonsten kann dein Client nach Erhalt des Paketes einfach ein Bestätigungspaket zurücksenden. Dann kannst du auch gleich UDP verwenden, weils schneller ist.
Re: SendNetworkString
ich würde eigentlich auch eher schauen, ob der Fehler nicht auf der Seite des Empfängers liegt.
Grüße ... Peter
Grüße ... Peter
Hygge
Re: SendNetworkString
Nein, das stimmt leider nicht.stevie1401 hat geschrieben:"Ergebnis" zeigt mir immer an, dass der String gesendet wurde.
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/viewtopi ... 57#p307857
Was meinst du mit geblockt?stevie1401 hat geschrieben:Kann es sein, dass dann gerade die "Leitung" vom TCP geblockt wurde?
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.stevie1401 hat geschrieben:Wie kann ich sicher erfahren, ob ein String beim Client angekommen ist?
Um sicher zu gehen, sollte der Client einfach etwas zurück schicken (zB Prüfsumme des erhaltenen Strings), die der Server abgleicht.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- HeX0R
- Beiträge: 2960
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 - Kontaktdaten:
Re: SendNetworkString
Eigentlich ist das unnötig, man muss allerdings ein wenig WinAPI benutzen, um zu wissen was das eigentliche Problem ist.Um sicher zu gehen, sollte der Client einfach etwas zurück schicken
Siehe mögliche Fehlermeldungen hier:
https://msdn.microsoft.com/de-de/librar ... s.85).aspx
Mit "geblockt" meinte er übrigens WSAEWOULDBLOCK, das sieht man in der Tat gelegentlich
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: SendNetworkString
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 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 nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: SendNetworkString
Der Code ist ein wenig heftig, zeigt aber die Verwendung von Threads und die Verwaltung von Clients.
Link: http://www.purebasic.fr/german/viewtopi ... =8&t=29743
Link: http://www.purebasic.fr/german/viewtopi ... =8&t=29743
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: SendNetworkString
Jo, sieht sehr "massiv" aus. Ich schaue mal, ob ich davon irgendetwas verstehe.
Erst einmal vielen Dank!
Erst einmal vielen Dank!
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: SendNetworkString
Den Servercode verstehe ich leider überhaupt nicht, da nicht beschrieben ist, was da eigentlich stattfindet.
Wo fängt das Programm an?
Wo ist da die Schleife?
Wo sehe ich, wann welche Daten reinkommen und was dann mit ihnen passiert?
Wo fängt das Programm an?
Wo ist da die Schleife?
Wo sehe ich, wann welche Daten reinkommen und was dann mit ihnen passiert?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x