Ich baue einen TCP-Server mit Indy 10 (von Delphi 2009). In OnExecute-Ereignis muss ich einige Daten aus dem Hauptthread zugreifen. Es ist möglich, diese Daten an den Server-Thread zu übergeben, wenn ich es starte? Der Server wird mit IdTCPServer1.Active:=True;
gestartet, so dass ich nicht sehe, wie ich einige Parameter übergeben kann.Wie starte ich Indy TCP Server mit Parametern?
1
A
Antwort
3
Es ist nicht möglich, zusätzliche Parameter an TIdTCPServer
zu übergeben. Ihre Server-Event-Handler müssen die Daten bei Bedarf aus dem Hauptthread abrufen.
Um Daten pro Verbindung zwischen Ereignissen zu protokollieren, können Sie die TIdContext.Data
-Eigenschaft verwenden oder eine benutzerdefinierte Klasse von TIdServerContext
ableiten und sie der TIdTCPServer.ContextClass
-Eigenschaft zuweisen. Zum Beispiel kann Ihre OnConnect
Event-Handler die neuesten Daten aus dem Haupt-Thread mit TIdSync
oder TThread.Synchronize()
abrufen, und dann im Kontext für OnExecute
zu verwenden.
Verwandte Themen
- 1. Wie Daten mit Indy TCP Server/Client übertragen werden?
- 2. Erstellen Sie TCP-TUNNELING-System mit Indy
- 3. Proxy-Server mit Indy
- 4. Wie starte ich mit SQL Server SSIS?
- 5. Wie starte ich sonarqube5.6.6 server
- 6. Delphi Indy TCP-Verbindung zu RECON
- 7. Wie starte ich ein Gravel-Projekt mit mehreren Parametern?
- 8. indy ssl delphi Server
- 9. Wiederherstellung von "Verbindung durch Peer zurückgesetzt" Indy TCP Client
- 10. Wie starte ich Jetty Server in Eclipse?
- 11. Linux Wie starte ich "sftp-server"?
- 12. Wie starte ich den Postgres-Server?
- 13. Adjust TCP/UDP Server Laufzeit
- 14. Wer setzt die TCP-Fenstergröße auf 0, Indy oder Windows?
- 15. AfterPutFile Ereignis mit Indy FTP Server
- 16. Robuste unidirektionale Nachrichten mit Indy
- 17. Wie starte ich einen Go http Server mit nginx
- 18. Wie starte ich mit andengine?
- 19. TCP-Server/Client mit Timeout
- 20. Http Post mit Indy
- 21. Wie starte ich ios_webkit_debug_proxy mit Java-Code
- 22. Wie mit Netzwerkabstürzen und Indy IDTCPServer umgehen
- 23. Wie kombiniere ich "sonar.cpd.exclusions" mit den Parametern in SONARQUBE Server?
- 24. Wie starte ich BouncyCastle?
- 25. Wie starte ich einen Parse Server mit Express mit dem npm-Paket parse-server?
- 26. N2Cms Wie starte ich
- 27. Wie starte ich gitlab?
- 28. Wie starte ich QGIS?
- 29. Wie starte ich einen einfachen Server in Ruby/Rails?
- 30. SQL Server-Funktion mit Parametern
Wenn sich die Daten ändern und Sie einen * Schnappschuss * erstellen möchten, kopieren Sie sie und ihre Referenzdaten, z. durch die benutzerdefinierte 'TIdServerContext' Klasse. – Victoria
Ich habe diese Klasse nicht in meinem Delphi 2009. Ich suchte danach. –
Einheit [IdCustomTCPServer] (https://github.com/graemeg/indy/blob/master/Lib/Core/IdCustomTCPServer.pas#L307). Aber es könnte nicht notwendig sein. Welche Daten möchten Sie an den Ausführungs-Thread übergeben? Was sind die Datentypen? Ändern sie sich, wenn der Server läuft? – Victoria