Hallo, guten Tag.
Ich bekomme es nicht hin mit einem Client in einem Schleife Daten zu empfangen.
Es soll in einer Schleife laufen und wenn Daten ankommen, sollen die ausgegeben werden in der Console.
Dieses Event dafür kapier ich nicht.
Die Programme die ich hier finde, sind mir immer zu gross und zu mächtig.
Danke
Gruss
Mit einem Client Dauernd Daten empfangen...
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Re: Mit einem Client Dauernd Daten empfangen...
Vll hilft dir das ja weiter, ist aber wirklich nahezu auf das nötigste begrenzt und daher nicht das gelbe vom Ei, wenns um Stabilität oder Skalierbarkeit geht:
http://www.purebasic.fr/german/viewtopi ... 50#p314038
LG KeyKon
http://www.purebasic.fr/german/viewtopi ... 50#p314038
LG KeyKon
(\/) (°,,,°) (\/)
Re: Mit einem Client Dauernd Daten empfangen...
Hmm also wenn es wirklich komplett minimalistisch nur um das Empfangen von Daten geht sollte das eigentlich reichen:
Bzw. wenn du auf die Daten von irgendwo her warten willst:
#PB_Ascii muss nicht unbedingt sein... aber einige Programme die man evtl. zum Testen heranzieht (z.B. irgendwelche telnet tools) verwenden evtl. nicht standardmässig Unicode und man wundert sich. Und ich würde wohl noch irgendwo ein Delay(1) in die Schlaufe packen damit der Prozessor nicht zu sehr strapaziert wird.
Code: Alles auswählen
InitNetwork()
OpenConsole()
*buffer = AllocateMemory(4096)
connection = OpenNetworkConnection("127.0.0.1",8080)
If *buffer And connection
Repeat
If NetworkClientEvent(connection) = #PB_Event_DataReceived
size = ReceiveNetworkData(connection,*buffer,4096)
PrintN(PeekS(*buffer,size,#PB_Ascii))
EndIf
ForEver
EndIf
Code: Alles auswählen
InitNetwork()
OpenConsole()
*buffer = AllocateMemory(4096)
server = CreateNetworkServer(#PB_Any,8080)
If *buffer And server
Repeat
If NetworkServerEvent() = #PB_Event_DataReceived
size = ReceiveNetworkData(EventClient(),*buffer,4096)
PrintN(PeekS(*buffer,size,#PB_Ascii))
EndIf
ForEver
EndIf
#PB_Ascii muss nicht unbedingt sein... aber einige Programme die man evtl. zum Testen heranzieht (z.B. irgendwelche telnet tools) verwenden evtl. nicht standardmässig Unicode und man wundert sich. Und ich würde wohl noch irgendwo ein Delay(1) in die Schlaufe packen damit der Prozessor nicht zu sehr strapaziert wird.
Re: Mit einem Client Dauernd Daten empfangen...
Jup, danke.
Das ist schön klein und übersichtlich.
Funktioniert wunderbar.
Gruss
Das ist schön klein und übersichtlich.
Funktioniert wunderbar.
Gruss