私はサーバークライアントアプリケーションを作成しました。さて、サーバー上で何が起こったかをログファイルに書き留めなければなりません。サーバーはCで書かれています。私はすでにprintfを使って画面に何が起こるかを書いています。マルチスレッドアプリケーションでファイルにログを書き込む
だから、printfの代わりにfprintfを使うだけでいいです。私の質問は、ファイルをどのように扱うべきかです。
私は主な機能
がここにありServer.c
ソースファイルを持っているが、私のサーバーアプリケーションの基本的な構造である:
Server.c
//.. some code
int main(...) {
//some code
//initialize variables
//bind server
//listen server on port
while(1)
{
//accept client
int check = pthread_create(&thread, NULL, handle_client,&ctx);//create new thread
//..
}//end while
return EXIT_SUCCESS;
}//end main
handle_client
が関数でありますこれは新しいスレッドでクライアントを処理します。
サーバーログはどのように作成する必要がありますか?たとえば、SERVERLOG.log
のようなテキストファイルが1つありますが、サーバーには多くのクライアントがあります。このファイルへの複数のアクセスをどのように処理する必要がありますか?
1つの方法は、サーバーを起動し、開いて、書き込んで、閉じるときにファイルを作成することです。 クライアントがファイルに書き込もうとしている場合は、ファイルを書き込んで書き込んで閉じます。
しかし、より多くのクライアントは、このファイルに書きたいの問題がまだある....
私はこれを少し知っていますが、私はあなたの質問を編集しました。たとえあなたの英語がうまくいかなくても、できるだけ努力していれば、これをテキストプロセッサーにコピーして単純な間違いを修正するだけでした。 – Mansuro