Seite 1 von 1

Daten im lokalen Netzwerk senden (Client/Server)

Verfasst: 25.02.2025 22:55
von jogo
ich beschäftige mich einige Zeit mit den Netzwerkfunktionen, mit dem Ziel, Daten aus einem Speicherbereich (ist ein Bild) an einen Client im lokalen Netzwerk zu senden.
Dafür möchte ich die NetworkTCP Funktionen der NetworkFunctions.pb von mk-soft als Grundlage in mein Projekt einsetzen (https://www.purebasic.fr/english/viewto ... 12&t=73882).

Jetzt muß ich mich da natürlich erstmal reinfressen und versuche, die beiliegenden Beispiele für Server & Client zu verstehen, was auch Ansatzweise gelingt (hoffe ich).
Ich starte also Server & Client2 (unverändert) und drücke auf Connect. Das passiert auch, aber dann meldet der Client im Debugfenster "SendData: Error SendNetworkData":

[145FF748] SendData: New Asynchron Data (1)
[145FF748] SendData: Thread Start
[145FF748] SendData: Error SendNetworkData
[145FF748] SendData: Thread Stop
[145FF748] SendData: New Asynchron Data (2)
[145FF748] SendData: Thread Start
[145FF748] SendData: Error SendNetworkData
[145FF748] SendData: Thread Stop
[145FF748] SendData: New Asynchron Data (3)

Dies wird so lange wiederholt, bis ich Disconnect drücke.
Da das Debugfenster vom Client kommt, gehe ich davon aus, das der Client nach dem Connect Testdaten senden möchte und es nicht gelingt.
Mir fehlt zu diesem Thema Erfahrung und auch fundierte Grundkenntnisse und habe deshalb große Probleme, die Ursache dieser Meldung rauszufinden. Ich weiß nur, dass sie direkt in der Procedure TcpSendData() generiert wird.
Ich bräuchte da etwas Starthilfe, damit es zumindest erstmal 1x Klick macht, sozusagen. Könnte mir mk-soft oder jemand, der mit diesemThema etwas vertraut ist, etwas Starthilfe geben?

PS: würde gerne einen kleinen Sreenshot anhängen, aber geht nur über Url oder?

Re: Daten im lokalen Netzwerk senden (Client/Server)

Verfasst: 26.02.2025 00:43
von mk-soft
Screenshot brauche ich nicht ...

Welche PB Version und welche OS wird verwendet.
Ich hab es heute mal mit der PB v6.20 unter macOS gestartet und es kam auch Error SendNetworkData. Da ist das erste mal da es nicht ging.

Aber nach einem zweiten Neustart ging es wieder.

Versuch mal den Server und den Client auf den Port 9001.

Re: Daten im lokalen Netzwerk senden (Client/Server)

Verfasst: 26.02.2025 00:45
von HeX0R
Kuckst Du in seine Signatur:
Mint LMDE5+6 // PureBasic 6.12

Unter Windows läuft es aber, nur mal so am Rande (wenn man das InitNetwork auskommentiert für neuere PB Versionen)

Re: Daten im lokalen Netzwerk senden (Client/Server)

Verfasst: 26.02.2025 11:20
von mk-soft
Kann an den Port 6037 liegen da dieser wohl für X-Server ist (Wenn da etwas läuft).
Ich habe auch Mint Linux LMDE 6 und hier läuft es mit Port 9001

Re: Daten im lokalen Netzwerk senden (Client/Server)

Verfasst: 26.02.2025 12:55
von jogo
hab 2 andere Ports probiert 9001 und auch mal 6150 - kein Unterschied. Die Verbindung selbst wird ja auch korrekt aufgebaut, nur das Senden geht dann schief.

Re: Daten im lokalen Netzwerk senden (Client/Server)

Verfasst: 26.02.2025 13:13
von jogo
_SendNetworkData() liefert -1
Dort wird r1 ja auf -1 gesetzt (und als returnwert ausgegeben), wenn es zuvor größer 0 war.

PS: muß jetzt schnell zur Arbeit... :)

Re: Daten im lokalen Netzwerk senden (Client/Server)

Verfasst: 26.02.2025 18:24
von mk-soft
Gefunden und Bugfix hoch geladen.

Zu verwendest wohl PB Kleiner v6.10.
Hatte ich wohl nicht richtig getestet. Linux, macOS und Window verwenden unterschiedliche Werte für die Socket API Konstanten verwendet.
Unter der PB Version 6.10 wird der Socket Fehler vor dem senden ausgewertet. Ab PB-Version 6.10 war diese nicht mehr erforderlich das Fred hier etwas repariert hatte.

Re: Daten im lokalen Netzwerk senden (Client/Server)

Verfasst: 26.02.2025 21:14
von jogo
Runter geladen und getestet - läuft..
Server & Client senden & empfangen wie wild. :) -- Vielen Dank für die prompte Hilfe -- :allright:
Ok, werd jetzt beginnen, Verständnis für die Funktionsweise zu entwickeln, um es dann in meinen Projekt einzubauen. Die NetworkFunctions.pb wird ja sicherlich jeweils 1:1 eingebunden.
Ich muß die Zusammenhänge erkennen, wie ich das senden von Bildern und auch kleinen Texten realisiere.