私はIndy 10(Delphi 2009から)を使用してTCPサーバを構築しています。 OnExecuteイベントでは、私はメインスレッドからいくつかのデータにアクセスする必要があります。そのデータをサーバースレッドに渡すことは可能ですか?サーバーはIdTCPServer1.Active:=True;
で開始されていますので、いくつかのパラメーターを渡す方法はわかりません。Indy TCP Serverをパラメータで起動するには?
1
A
答えて
3
TIdTCPServer
に追加パラメータを渡すことはできません。サーバイベントハンドラは、必要に応じてメインスレッドからデータを取得する必要があります。
イベントごとに接続ごとのデータを追跡するには、TIdContext.Data
プロパティを使用するか、TIdServerContext
からカスタムクラスを派生させてTIdTCPServer.ContextClass
プロパティに割り当てます。たとえば、OnConnect
イベントハンドラは、TIdSync
またはTThread.Synchronize()
を使用してメインスレッドから最新のデータを取得し、OnExecute
のコンテキストでキャッシュして使用することができます。
関連する問題
- 1. Indy TCP Serverはサービスから動作していませんか?
- 2. Indy TCP Server/Clientを使用してデータを転送する方法は?
- 3. Indy TCP通信と改行
- 4. 「接続リセットによるピア」Indy TCPクライアント
- 5. コマンドライン特定のインスタンスのTCP SQL Serverを起動する
- 6. Delphi Indy SSLパラメータ
- 7. TCPサーバー起動エラー。
- 8. TCPサーバーを再起動する
- 9. Indy Proxy Server HTTPS to HTTP
- 10. Indyを使用してTCP TUNNELINGシステムを作成する
- 11. 同じマシンデルファイのINDY TCPクライアントとサーバーの両方をテストする
- 12. Spring起動アプリケーションを起動するとRMI TCP接続エラーが発生する
- 13. パラメータでgammuを起動する
- 14. npm package parse-serverを使用してExpressでParse Serverを起動するには?
- 15. nodejsアプリ内でnodejs tcpサーバーを起動する
- 16. Indy Mimeでバイナリデータをエンコードするには?
- 17. WindowsサービスはWindows 7で起動しますが、Windows Server 2008 R2では起動できません
- 18. サーバtcpを起動すると、フォームが消えるのはなぜですか?
- 19. 起動パラメータなしで監査パラメータを設定する
- 20. C++ boost tcp-server
- 21. C#tcp server client
- 22. qemuの起動パラメータ
- 23. Indy InputBufferのTCPクライアントおよび不正なバイト
- 24. INDYコマンドハンドラ。パラメータの成功応答
- 25. パラメータ付きのコマンドプロンプトを起動する
- 26. Indy TCPクライアントデータが受信されていません
- 27. Windows 7の起動時にSQL Server 2008を自動的に起動する方法は?
- 28. Dockerでtcpを使用する複数のコンテナを起動する方法
- 29. SpriteBatchを同じパラメータで再起動
- 30. Indy Imap SASL接続が正常に動作するはずですか?
データが変更され、*スナップショット*を作成する場合は、それらをコピーし、参照パスをコピーします。カスタムの 'TIdServerContext'クラスを使用します。 – Victoria
私はDelphi 2009でそのクラスを持っていません。私はそれを探しました。 –
ユニット[IdCustomTCPServer](https://github.com/graemeg/indy/blob/master/Lib/Core/IdCustomTCPServer.pas#L307)。しかし、それは必要ではないかもしれません。実行スレッドに渡すデータは何ですか?データ型は何ですか?サーバーが稼動しているときに変更されますか? – Victoria