Hallo
Bin gerade mal ein wenig mit einer kleinen Server/Client Anwendung beschäftigt, komme aber nicht so recht weiter.
Hier mal ein kleiner Code, funktioniert auch soweit, leider allerdings bestenfalls auf 80er Jahre Niveau als noch Serielle- Datenübertragung modern war.
Server:
Code:
;SERVER
;Hollywood 7
SetDefaultEncoding(#ENCODING_ISO8859_1, #ENCODING_ISO8859_1)
Function Connect(msg)
client_id=msg.clientid
DebugPrint(client_id)
EndFunction
Function DisConnect(msg)
CloseConnection(msg.id)
EndFunction
Function receive(msg)
data$ = ReceiveData(client_id, #RECEIVELINE)
If data$ = "cmd:bereit"
send(msg)
EndIf
EndFunction
Function send(msg)
file_Pfad$ = FileRequest("Eine große Datei zum senden wählen", "*")
OpenFile(1, file_Pfad$)
file$ = ReadBytes(1)
SendData(msg.id, file$)
EndFunction
;*************************************************************************************************
CreateServer(1,80)
InstallEventHandler({OnConnect=Connect, OnDisconnect=DisConnect, onreceivedata=receive})
Repeat
CheckEvent
Wait(1)
Forever
Client:
Code:
;CLIENT
;Hollywood 7
SetDefaultEncoding(#ENCODING_ISO8859_1, #ENCODING_ISO8859_1)
Function receive()
data$ = ReceiveData(1, #RECEIVEALL, False)
DebugPrint("Alle Daten empfangen")
EndFunction
InstallEventHandler({onreceivedata=receive})
OpenConnection(1, "localhost", 80)
SendData(1,"cmd:bereit")
Repeat
CheckEvent
Wait(1)
Forever
Das Problem bei diesem Code ist, sobald der Serve einen Klienten bedient, ist er für weiter Klienten nicht mehr ansprechbar bis der erste Klient alle Daten erhalten hat.
Hmm, irgendwie hat das nichts mit einem Server zu tun.
Eigentlich sollte er ja senden, aber gleichzeitig weitere Klienten bedienen können.
Vielleicht kann hier ja jemand helfen.
Grüße, Michael