ソケットがselect()
への呼び出しによって書き込みがOKであるとシグナル通知された場合、どのくらいのデータをブロックせずに送信できるのか分かりますか?select()の使用時にsend()がブロックされることはありますか?
select()
によって返されるセットにインクルードすると、ソケットが少なくとも1バイトのデータの準備ができていることを示し、send()
は短いバイト数を返しますか?
len
パラメータが使用可能なバッファ領域よりも大きい場合は、send()
と呼ぶとブロックされますか?もしそうなら、どのように最大額を知ることができますか?
私はLinuxで通常のCソケットを使用しています。
APIがサポートしている場合は、 'SO_SNDLOWAT'オプションを使用できます。こうすることで、書き込み可能にする必要がある最小バイト数を選択できます。 – cnicutar