作者hyd0916 (丫達)
看板b95902HW
標題Re: [作業] MP4
時間Sun Jun 8 15:07:45 2008
※ 引述《slyfox (klanloss)》之銘言:
: ※ 引述《hyd0916 (丫達)》之銘言:
: : printinfo(1) : 這個是server 會再去服務其他的client
: : printinfo(2) : 這個是沒有clinet 的時候要印
: : (那一開始背景執行的時候要印嗎??)
: : printinfo(3) : server 關掉了well-known FIFO
: : client是要直接exit ??
: : 還是跳下一個等server再開??(不過client是前景 應該不能再開了...)
: : printinfo(4) : server 關掉 client-specific FIFO
: : client 要直接exit ??
: : 還是跳下一個client??
: : 問題主要是在 3 跟 4 是要直接exit 還是跳下個clinet??(如果不只一個client)
: printinfo(1~4) 是在例外發生時要做的事,
: 而你不能也不應該去預測例外何時會發生,你只能判斷例外是否發生了,
: 也就是說你應該做必要的判斷,然後做對應的處理。
: printinfo(1) printinfo(3) 是接收到 SIGPIPE 時要做的事。
: printinfo(2) printinfo(4) 是 read 回傳 0 時要做的事。
: 另外你必須考慮在實做上,在 blocking/non-blocking i/o 的選擇上
: 哪種會比較方便又比較有效率…
: -TA
助教這樣子我的問題還是沒有解決吧 Q Q
我正要問的是printinfo 3跟 4 要做的是什麼事...
是要讓client 直接 就結束嗎
還是要用continue 繼續下一個client (假設很多個client 是 loop)
另外在printinfo 2 的時候
是只要一次round 跑完就印一次嗎 ?
ex:
b95105@linux4 [~/htdocs/hw4] server FIFO &
b95105@linux4 [~/htdocs/hw4] client FIFO 2
No client
b95105@linux4 [~/htdocs/hw4] client FIFO 10
No client
b95105@linux4 [~/htdocs/hw4]
執行的結果是這樣嗎 (還是第二次的No client 不用印??)
麻煩助教了~~
謝謝~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.77.218
1F:推 slyfox:這部份作業要求已經有說明了。 06/08 19:05
2F:→ slyfox:server 每執行一次就需印一次 printinfo(2) 06/08 19:06
3F:→ slyfox:Terminates itself 就是結束自己這個 process 06/08 19:08
4F:推 wingzero0:我去問過助教一些問題,其問題如下: 06/09 09:30
5F:→ wingzero0:那個迴圈重覆做的動作,要把下列的指令都放在其內嗎? 06/09 09:31
6F:→ wingzero0:1.sleep 06/09 09:31
7F:→ wingzero0:2.關閉server 的fifo//也就是每個迴圈都重做於打開 06/09 09:33
8F:→ wingzero0:server fifo的動作 06/09 09:33
9F:→ wingzero0:3.關閉和刪除client 的fifo//也就是每個迴圈都重做建檔 06/09 09:34
10F:→ wingzero0:開檔(client fifo)的動作 06/09 09:34
11F:→ wingzero0:而助教的回答是: 06/09 09:35
12F:→ wingzero0:是的,每個輪迴都要做作業要求內項目 1. ~ 5. 的所有事 06/09 09:35
13F:→ wingzero0:所以我想,依照這樣,client若每次關閉server fifo, 06/09 09:39
14F:→ wingzero0:又再sleep,則換到server,就會出現no client的情況 06/09 09:40
15F:→ wingzero0:也就是,在工作量沒有很重時,應該每個迴圈都出現一次 06/09 09:41
16F:→ wingzero0:no client 06/09 09:42
17F:推 gglk:謝謝提供資訊,不過我覺得5點裡並沒有包含開關SERVER FIFO耶 06/09 12:24