2

C でPOSIX スレッドを使用して、単純なマルチクライアント サーバー通信プログラムを作成しています。新しいクライアントが接続されるたびに、つまり のルーチンの後にスレッドを作成しています。accept(...)main()

サーバーがクライアントを永遠に受け入れ続けるように、accept(...)と をループのpthread_create(...)中に入れました。では、スレッドが終了した後while(1)のルーチンはどこに記述すればよいでしょうか。pthread_join(...)

詳細情報: スレッドの「開始ルーチン」内でpoll()& thenrecv()関数を使用し、再びwhile(1)ループ内でクライアントの可用性を継続的にポーリングし、クライアントからデータを受信しました。スレッドは次の場合に終了します。

1)poll()エラー イベントを返すか、クライアントがハングアップします。
2)recv()値 <= 0 を返します。

言語: C
プラットフォーム: Suse Linux Enterprise Server 10.3 (x86_64)

4

3 に答える 3