クライアントとサーバーの c# プログラムがあります。クライアント (接続を受信している人)。サーバー (クライアントに接続しているサーバー)。
サーバーが開かれると、顧客 (サーバー) と電子メール アドレスがクライアント ウィンドウに表示されます。ただし、クライアントを閉じて再度開くと接続が失われ、顧客はサーバーを閉じて再度開く必要があります。
顧客にサーバーを閉じて再度開くように言わずに接続を維持するにはどうすればよいですか? TCP接続とscoketsを使用しています。
クライアントとサーバーの c# プログラムがあります。クライアント (接続を受信している人)。サーバー (クライアントに接続しているサーバー)。
サーバーが開かれると、顧客 (サーバー) と電子メール アドレスがクライアント ウィンドウに表示されます。ただし、クライアントを閉じて再度開くと接続が失われ、顧客はサーバーを閉じて再度開く必要があります。
顧客にサーバーを閉じて再度開くように言わずに接続を維持するにはどうすればよいですか? TCP接続とscoketsを使用しています。
これに対する解決策は、「クライアント」がオンラインでない場合のエラー処理で遅延接続初期化を使用することです。
初期化を処理し、現在の接続状態を確認し、接続を初期化できなかった場合にエラー処理ですべてのアクションをラップできる、接続用のラッパーを作成できます。
WCF はこのための優れた抽象化レイヤーですが、重すぎる可能性があり、特にプロジェクトのセットアップ/構成部分で、学習曲線が非常に急です。
また、すでに述べたように、通常、クライアントが何らかのログイン/サブスクリプションメッセージで通信を初期化するのはクライアント/サーバー設計の一部であり、その逆ではありません。これにより、ここでも問題が解決します。