bin gerade dabei mich mit UDP auseinander zu setzen, also habe ich mal ein ganz einfaches Server/Client Programm gebastelt.
So, jetzt habe ich auch eine ganz einfache Frage
Wieso funktioniert dieses Model, ...
Server:
Code: Alles auswählen
Procedure server(param)
Repeat
event=NetworkServerEvent()
Select event
Case #PB_NetworkEvent_Connect
PrintN("Neuer Client verbunden. ID: "+Str(EventClient()))
Case #PB_NetworkEvent_Data
crude$=Space(2048)
received=ReceiveNetworkData(EventClient(), @crude$, 2048)
newcrude$=RTrim(crude$)
PrintN(Str(received)+" Bytes empfangen. ID: "+Str(EventClient())+" Data: "+newcrude$)
Case #PB_NetworkEvent_Disconnect
PrintN("Client getrennt. ID: "+Str(EventClient()))
Case #PB_NetworkEvent_None
Delay(10)
EndSelect
ForEver
EndProcedure
OpenConsole()
If InitNetwork()<>0
PrintN("Netzwerk initialisiert")
If CreateNetworkServer(0, 6600, #PB_Network_TCP)<>0
PrintN("Server gestartet")
PrintN("")
CreateThread(@server(), param)
Repeat
input$=Input()
Until input$="exit"
End
EndIf
EndIfCode: Alles auswählen
Procedure client(verbindung)
Repeat
event=NetworkClientEvent(verbindung)
Select event
Case #PB_NetworkEvent_Data
PrintN("Daten empfangen. Data: ")
Case #PB_NetworkEvent_Disconnect
PrintN("Verbindung getrennt.")
Case #PB_NetworkEvent_None
Delay(10)
EndSelect
ForEver
EndProcedure
OpenConsole()
If InitNetwork()<>0
PrintN("Netzwerk initialisiert")
verbindung=OpenNetworkConnection("server666.no-ip.biz", 6600, #PB_Network_TCP)
If verbindung<>0
PrintN("Verbindung aufgebaut")
PrintN("")
CreateThread(@client(), verbindung)
Repeat
input$=Input()
If input$<>""
bytes=SendNetworkData(verbindung, @input$, Len(input$))
PrintN(Str(bytes)+"/"+Str(Len(input$))+" Bytes gesendet.")
EndIf
Until input$="exit"
End
EndIf
EndIf(Bitte bei beidem den Unicode Modus ausschalten!)
Der Server zeigt noch nichtmal an, ob ein Client connected ist.
Kann mir das jemand kurz erklären?
Danke schonmal im Vorraus