1

Bob Swart のホワイト ペーパーをガイドとして使用して、Datasnap サービスを作成しました。VCL Forms アプリケーションをサーバーとして使用して、正常にデバッグおよびデプロイされました。しかし、サービス バージョンを展開しようとすると、正常にインストールされ、サービスを開始しようとすると、すぐに停止します。イベント ログのエラーは、ポート セットが既に使用されていることを示しています。構成ファイルからポート番号を設定したいので、DSServer は Autostart に設定されていません。イベント ログに表示されるエラー メッセージは次のとおりです。

開始時にサービスが失敗しました: ソケットをバインドできませんでした。アドレスとポートは既に使用されています..

起動時と実行時にログファイルへの書き込みも試みましたが、これまでのところ到達していないようです。

本当にやりたくないシッククライアントに戻らなければならない前に、解決策が早急に必要でした。

ありがとう

4

2 に答える 2

1

構成したポートが実際に空いていて、マシン上の他のソフトウェアで使用されていないことが確実な場合は、すべてのソフトウェアが特定のポートまたはポートでリッスンするのをブロックしているウイルス対策/セキュリティ ソフトウェアが実行されている可能性があります。いくつかの構成済みポートを除くすべてのポート。表示されるメッセージは、ウイルス対策/セキュリティ ソフトウェアがアプリによるポートのリッスンを開始する試みを処理する方法の症状の 1 つです。

于 2010-07-31T14:43:26.337 に答える
1

まず、 Sysinternalsスイート (現在は Microsoft が運営)から TCPView のコピーを取得し、それを使用して、使用するポートを使用しているアプリを監視します。

アプリがスタンドアロンとして正常に動作し (あなたが言うように)、サービスで同じポートを使用しようとしている場合、サービス アプリは起動時に気付かないうちにポートを開いている可能性があります。その後、ポートを手動で開こうとすると、アプリはそれが既に使用されていることを検出します。または、どういうわけか、アプリがポートを 2 回開こうとしています。1 回目は成功しますが、イベントまたは予期しないコード パスが原因で、アプリが 2 回目に開こうとして失敗します。TCPView はこれを見つけるのに役立ちます。

于 2010-08-01T08:11:50.227 に答える