私は次のようにTCPソケットの記述子を得た:ソケットの記述子をファイルポインタに変換できますか?
int desc = accept(socket_descriptor, &client_address, &len)
を今、この記述子desc
から私は、ファイルポインタを取得したいです。ここでfdopen()
を使用できますか?
ファイルポインタを取得する理由は、ローカルファイルにデータを書き込む既存のコードを変更するためです。さて、私はその機能を拡張して、代わりにTCPクライアントに書き込むことができます。私はすべての機能を書き直したくないし、どうにかして既存のインフラストラクチャを使うことができると考えていました。既存の関数はファイルポインターを使用してファイルに書き込みます。変更を加えずに同じ機能をTCPストリームに書き込むことが可能かどうか疑問に思っていました。
ほとんどのファイルは 'stdout'のみでバッファされています。ファイルをラインバッファにする方法があるのかどうかはわかりませんが、ほとんどがブロックされていると思います。 –
@ChrisLutz:この関数は 'setlinebuf'です。私は 'stdout'は端末に接続されていればバッファされた行だけだと思いますが、わかりません。 –
@DietrichEpp - ありがとうございます。そして、あなたは 'stdout'について正しいと思います。 –