- 私は、2つのプロセスがUNIXドメインソケットで話しているアプリケーションを実行しています。メッセージの大半をソケットの上に渡されるが正しく処理されますが、メッセージのバイト数が、私はエラーを取得して起動する一定の限界をexcedesとき:Sendto失敗したC++ // POSIX.4
sendto failed: Message too long (POSIX.f)
私はそのは私に言って何を理解しています。私はメッセージの長さを変更することはできませんし、特にメッセージを分割する時間を費やすことは望ましくありません - そして、そのすべてを同じコンピュータに入れるので、このドメインソケット上でメッセージの長さを制限する必要はありません。
ドメインソケットに書き込み可能なメモリの量を増やす方法はありますか、ソケットの初期化/ sendto/recvfromコールに間違いがあり、制限が課されている可能性がありますか?使用していたsend/recvバッファーはかなり大きかった(エラーを引き起こすメッセージよりもかなり大きかった)。
それはデータグラムソケットであり、結論は出てきましたが、ストリームソケットに切り替えるのは良い考えです。私はsetsockoptを最初にチェックアウトします。 - とても有難い :) –