看板 b95902HW 關於我們 聯絡資訊
※ 引述《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
slyfox:這部份作業要求已經有說明了。 06/08 19:05
slyfox:server 每執行一次就需印一次 printinfo(2) 06/08 19:06
slyfox:Terminates itself 就是結束自己這個 process 06/08 19:08
wingzero0:我去問過助教一些問題,其問題如下: 06/09 09:30
wingzero0:那個迴圈重覆做的動作,要把下列的指令都放在其內嗎? 06/09 09:31
wingzero0:1.sleep 06/09 09:31
wingzero0:2.關閉server 的fifo//也就是每個迴圈都重做於打開 06/09 09:33
wingzero0:server fifo的動作 06/09 09:33
wingzero0:3.關閉和刪除client 的fifo//也就是每個迴圈都重做建檔 06/09 09:34
wingzero0:開檔(client fifo)的動作 06/09 09:34
wingzero0:而助教的回答是: 06/09 09:35
wingzero0:是的,每個輪迴都要做作業要求內項目 1. ~ 5. 的所有事 06/09 09:35
wingzero0:所以我想,依照這樣,client若每次關閉server fifo, 06/09 09:39
wingzero0:又再sleep,則換到server,就會出現no client的情況 06/09 09:40
wingzero0:也就是,在工作量沒有很重時,應該每個迴圈都出現一次 06/09 09:41
wingzero0:no client 06/09 09:42
gglk:謝謝提供資訊,不過我覺得5點裡並沒有包含開關SERVER FIFO耶 06/09 12:24