作者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