Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。1万件62ソケットの一回の送信で適切なサイズはありますか?たとえば65535バイト送信したいとします。bufを2048進めて繰り返すまた、適切なサイズがあったとしてOpenSSLのssl_write()の場合は事情が少し違うなどの情報もありましたら教えていただけると助かります。個人的にはTCPの(イーサネットを考慮した)1セグメントは1460バイトらしいので、1460以上の場合は1460単位で分割して送るのが良いような気がしています。票11TCPの場合、大きなデータを適切な小断片(MSS:最大セグメントサイズ)へ分割する仕事は、TCP層が行ってくれます。20MB送りたければ、20MB渡してしまってよいです。アプリケーションレベルで小分けに送信呼び出しをすると、システムコール呼び出しがそこそこに時間を要するために、性能上のデメリットだけがあります。UDPの場合は分割機能を持ちませんので、性能が大事なケースではアプリケーションで考えて分割送信する意味はあります。経路上で転送可能なサイズ(MTU)より大きいサイズの送信要求を出した場合、下層がIPであればIP層で分割・結合が行われるのですが、これは断片の一つでも失われたら全て廃棄するルールなので、大変よろしくないです。(IPフラグメンテーション)余談ですが、具体的な分割後サイズは、その1460Byteの例のような標準的ヘッダサイズ計算によって求めるのは不適切です。PPPoEを経由するとか、モバイルネットワークの都合とかで、もうちょっと小さくなっているケースは珍しくありません。個の銅バッジありがとうございます。送信に関しては分割せずに送るのがよさそうです。(RFC896)」を考慮すべきだと考えられます。おおざっぱにいうと、どちらも小さなサイズのパケットが多数発生することを抑えるための仕組みといえます。従って、送信時には概ね1500Byteより大きなパケットで送った方が良い結果が得られます。大きすぎるデータ送信は他に迷惑がかかりますが、閉じたネットワークならば大きな問題にはならないかもしれません。|2適切なサイズというのは環境に依存するので回答は難しいと思います。一般的に言って、バッファサイズに余裕があるなら、まとまった量のデータをわざわざ小分けにして送るメリットはありません。適切なセグメントサイズへの分割は自動で行われますし、Nagleアルゴリズムが有効な場合は小分けにしてもまとめて送信されます。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。子スレッドで待ち受けするとbindエラーが出る0ソケット通信のエラーについて0pythonで単一のクライアントとソケット通信する場合もsocket.setblocking(0)は使うべきではないのでしょうか?0ソケットコネクション常時接続したい、切断時は再接続したい。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。