Daten im lokalen Netzwerk senden (Client/Server)

Für allgemeine Fragen zur Programmierung mit PureBasic.
jogo
Beiträge: 123
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE

Daten im lokalen Netzwerk senden (Client/Server)

Beitrag 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?
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

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

Beitrag 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.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

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

Beitrag 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)
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

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

Beitrag 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
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
jogo
Beiträge: 123
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE

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

Beitrag 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.
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
jogo
Beiträge: 123
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE

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

Beitrag 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... :)
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

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

Beitrag 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.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
jogo
Beiträge: 123
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE

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

Beitrag 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.
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Antworten