0

私はソケットに不慣れで、.NETでのソケットの使用法についていくつか質問があります。これはコンシューマープログラムであるため、ユーザーがサーバーとクライアントを実行するときにスケーリングの問題は発生しません。

1)サーバーが閉じるまでソケット接続を開いたままにしておく方がよいですか、それともユーザーが接続を要求したときにのみ接続を開き、完了時に閉じる必要がありますか?リアルタイムゲームではないため、リクエストは断続的になりますが、ソケット接続を開いたままにしておくことのデメリットはありますか?

2)ソケットは、サーバーを実行している場合、ユーザーに管理者権限を持っている必要がありますか?周りを見回したところ、RAWソケットは機能しているように見えましたが、プログラムに最適なものに応じて、代わりにStreamまたはDgramを使用する予定です。

4

1 に答える 1

1
  1. 単一のソケットについて話している場合は、それを開いたままにしておくことは大したことではありません。使用可能なポートはたくさんあり、ソケットが待機状態になっているだけの場合、システムリソースの消費量はごくわずかです。
  2. TCPおよびUDPソケット接続を開くには、管理者権限は必要ありません。ただし、ユーザーのファイアウォール設定によっては、アプリケーションが外部接続を確立できるようにするためにファイアウォール例外が必要になる場合があります。また、ファイアウォールソフトウェアによっては、管理者権限が必要な場合と不要な場合があります
于 2013-01-24T03:11:06.077 に答える