Seite 1 von 1
Mit einem Client Dauernd Daten empfangen...
Verfasst: 23.10.2013 16:41
von funkheld
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
Re: Mit einem Client Dauernd Daten empfangen...
Verfasst: 23.10.2013 17:26
von KeyKon
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
Re: Mit einem Client Dauernd Daten empfangen...
Verfasst: 23.10.2013 19:18
von auser
Hmm also wenn es wirklich komplett minimalistisch nur um das Empfangen von Daten geht sollte das eigentlich reichen:
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
Bzw. wenn du auf die Daten von irgendwo her warten willst:
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...
Verfasst: 24.10.2013 09:25
von funkheld
Jup, danke.
Das ist schön klein und übersichtlich.
Funktioniert wunderbar.
Gruss