私はCからクライアント/サーバプログラムを持っています。これを介してサーバからクライアントにファイルを転送しています。ソケット:最後のバイトを受信してもクライアントが待っています
しかし、クライアントはファイルの最後のバイトを受信した後でも、recvを待っています。クライアントは私がそれを殺すかサーバーが私によって殺された場合にのみ終了します。しかし、サーバーは他のクライアントの要求を受け入れなければならないため、ループしていなければなりません。
私はサーバー内でfork()
を使用して各クライアントの要求を受け入れています。クライアントのリクエストが受け付けられたあと、子プロセスから抜け出していますが、サーバープログラム全体が終了したときにのみクライアントが終了しています。
サーバーの子が終了したときにクライアントが終了しないのはなぜですか?
サーバーコードhereとクライアントコードhereが表示されます。
あなたの質問がありますか? – JRL
@JRL有効な質問の理由なしで-1を与えることは非常に悪いです。質問は正しいです。 –
@Akash:あなたが言っていることは分かりません。私が-1を与えたと言っているなら、あなたは間違っている、私はしなかった。私はちょうど彼の質問が何だったのか尋ねるコメントをした。 – JRL