サーバーとクライアントが名前付きパイプを使用して通信する単純なサーバークライアントプログラムを作成しました。すべてが正常に機能していますが、簡単な質問があります。クライアント部分で、サーバーに送信されるメッセージをこの中で割り当てます。方法char*msg = malloc(sizeof(char)); 次に、gets(msg)を使用してユーザーから読み取ります。最後に、iamはwrite()関数を使用してメッセージをパイプに書き込みます。サーバー部分では、mallocを使用してバッファーも割り当てますが、read()関数の3番目の引数がどうあるべきかわかりません...マニュアルページから理解できるので、readの3番目の引数はバイト数です。読みたいのですが、これはクライアントが送信しているメッセージのstrlenであると思います。問題は、読む前にiamがこれを知ることができないことです。これを機能させる方法はありますか、またはサーバー部分のバッファーに基本的にMAX_SIZEを使用する必要があります。よろしくお願いします。:)
質問する
681 次