ich habe aktuell ein neues kleines Projekt. Ich habe ein Gerät mit Windows CE 5.0 mit Touchscreen-Bildschirm, LAN und anderen Spielerreien.
Nun wollte ich mit einem kleinen Programm eine erzeugte Buchung mittels UDP an einen PC schicken.
Start Programm:
Code: Alles auswählen
IF SocketCreateUDP("Server", nPort) = False THEN
Error("Fehler beim Öffnen von UDP-Port "+nPort+" "+ErrorInfo(errMessage))
RETURN
END
In 2 gestarteten Threads soll die ganze Geschichte bedient werden.
Code: Alles auswählen
ThreadExecute("Senden", threadNormal, "Daten_Senden")
ThreadExecute("Empfangen", threadNormal, "Daten_Empfangen")
Code: Alles auswählen
PROCEDURE Daten_Empfangen()
sReply is string
WHILE SocketExist("Server")
Log2File("Schleife Datenempfang",cLog)
sReply = SocketRead("Server", False, 1000)
IF sReply <> "" THEN
Log2File("Datenempfang "+sReply+" "+SocketClientInfo("Server", SocketAddress),cLog)
ELSE
Log2File("kein Datenempfang "+SocketClientInfo("Server", SocketAddress),cLog)
END
END
Code: Alles auswählen
PROCEDURE Daten_Senden()
WHILE SocketExist("Server")
IF gsCDaten<>"" THEN
IF SocketWrite("Server", gsCDaten+CRLF, sIP, nPort) = True THEN
Log2File("Daten gesendet: "+gsCDaten,cLog)
gsCDaten=""
END
END
END
Beim Beenden wird wieder alles geschlossen und die Threads vorher beendet. Die positive Nachricht ist, dass versendete Buchungen am Programm am PC auf dem Port ankommen. Die schlechte ist, dass das Programm auf dem PC die Buchung mit einem "OK" beantwortet, aber dies nicht an dem Gerät ankommt. In dem Protoll sehe ich demzufolge
Code: Alles auswählen
Schleife Datenempfang
kein Datenempfang
Schleife Datenempfang
kein Datenempfang
Schleife Datenempfang
kein Datenempfang
Schleife Datenempfang
kein Datenempfang
Daten gesendet: xyzabc
Schleife Datenempfang
kein Datenempfang
Schleife Datenempfang
kein Datenempfang
Schleife Datenempfang
kein Datenempfang