SocketTCP経由で他のプログラムにコマンドを送信するためにオブジェクトを使用しています。
私はより良い決定は何であるか疑問に思います:
- すべてのコマンド送信/受信セッションでオブジェクトを初期化
Socketしてから閉じます。 - または、1つのグローバル
Socketオブジェクトを初期化するには、それを使用してすべてのコマンドを送信/応答を受信し、プログラムを閉じます。
したがって、問題は、「同じ」操作のためにソケットオブジェクトをどのくらいの頻度で閉じる必要があるかということです。
アプリケーションの要件によって異なります。たとえば、SMTPクライアントを作成しているとすると、サーバーは永久に接続できなくなります。これも要求/応答タイプのプロトコルです(たとえば、メールをチェックして応答を受信するために要求を送信します)。その後、ソケットを閉じる必要があります。リクエストが完了したら。ただし、アプリケーションのようなチャットを作成している場合は、ソケットを閉じたくない場合があります。チャットアプリサーバーはサーバーで受信した他のチャットメッセージをいつでも送信できるため、この場合、サーバーは要求なしでデータをプッシュします。