📄 00000001.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>注: <BR> 以下文章转载自 bbs.ee.nthu programming 板精华区 <BR>><I> ========================================================================= < </I><BR> <BR>发信人: <A HREF="mailto:LFalcon.bbs@bbs.secc.fju.edu.tw">LFalcon.bbs@bbs.secc.fju.edu.tw</A> (笨鸟), 看板: programming <BR>标 题: Multi-Client communication! <BR>发信站: 辅大美少女梦工场 BBS 站 (Wed May 15 21:34:59 1996) <BR>转信站: maple!news.ee.nthu!thccx4!news.cc.nctu!spring!aidebbs!info.svd.fju!fju <BR> <BR> 目前正在发展Multi-Client Single-Server的communication <BR>的网路程式。是以Socket-Based IPC来做的。但是对於 <BR>此种Multi-Client的作法正在抉择是要使用Single-Process Concurrent-Server <BR>来做,或者是使用forking的方式来做。 <BR> 想请问一下各位先进:若要使用forking 的方式来做时,即fork(), <BR>那麽所产生出来的child process是不是从程式的起点来执行?而对於 <BR>forking而言,是否可解释成Multi-Client vs Multi-Server? <BR> <BR> <BR>><I> -------------------------------------------------------------------------- < </I><BR> <BR>发信人: <A HREF="mailto:Chicken.bbs@cis.nctu.edu.tw">Chicken.bbs@cis.nctu.edu.tw</A> (无敌喷饭鸡), 看板: programming <BR>标 题: Re: Multi-Client communication! <BR>发信站: 交大资科_BBS (Wed May 15 21:44:47 1996) <BR>转信站: maple!news.ee.nthu!news.cis.nctu!cis_nctu <BR> <BR>><I> 想请问一下各位先进:若要使用forking 的方式来做时,即fork(), </I><BR>><I> 那麽所产生出来的child process是不是从程式的起点来执行?而对於 </I><BR>><I> forking而言,是否可解释成Multi-Client vs Multi-Server? </I><BR> <BR> 不是... 是从你执行 fork() 的这个地方, 分成两个 process 同时 <BR> 并行... <BR> <BR> multi-server? 我想不算吧! 你 fork 出来的目的, 应该只是想和 <BR> 你的 client 建立一个专属的 TCP Link 吧! 每个 fork 出来的 process <BR> 还是得靠 ipc 互相沟通, 这样仍然算是一个 server .. <BR> <BR> <BR>><I> -------------------------------------------------------------------------- < </I><BR> <BR>发信人: <A HREF="mailto:LFalcon.bbs@cis.nctu.edu.tw">LFalcon.bbs@cis.nctu.edu.tw</A> (笨鸟), 看板: programming <BR>标 题: Re: Multi-Client communication! <BR>发信站: 交大资科_BBS (Thu May 16 13:05:25 1996) <BR>转信站: maple!news.ee.nthu!news.cis.nctu!cis_nctu <BR> <BR>==> 在 Chicken@cis_nctu (无敌喷饭鸡) 的文章中提到: <BR>><I> > 想请问一下各位先进:若要使用forking 的方式来做时,即fork(), </I><BR>><I> > 那麽所产生出来的child process是不是从程式的起点来执行?而对於 </I><BR>><I> > forking而言,是否可解释成Multi-Client vs Multi-Server? </I><BR>><I> 不是... 是从你执行 fork() 的这个地方, 分成两个 process 同时 </I><BR>><I> 并行... </I><BR> ^^^^^^^^那以以下这个程式来看呢? <BR> <BR> : <BR> if ((pid=fork())<0) { <BR> perror("fork"); <BR> exit(-1); <BR> } <BR> do { <BR> : <BR> : <BR> } while(TRUE); <BR> <BR> 是不是说child process建立出来之後,此child proc. 便会从 do-loop <BR>这里做起呢? <BR> <BR> <BR>><I> -------------------------------------------------------------------------- < </I><BR> <BR>发信人: <A HREF="mailto:jackie.bbs@cis.nctu.edu.tw">jackie.bbs@cis.nctu.edu.tw</A> (狗脸岁月), 看板: programming <BR>标 题: Re: Multi-Client communication! <BR>发信站: 交大资科_BBS (Thu May 16 14:13:16 1996) <BR>转信站: maple!news.ee.nthu!news.cis.nctu!cis_nctu <BR> <BR>==> 在 LFalcon@cis_nctu (笨鸟) 的文章中提到: <BR>><I> ==> 在 Chicken@cis_nctu (无敌喷饭鸡) 的文章中提到: </I><BR>><I> > 不是... 是从你执行 fork() 的这个地方, 分成两个 process 同时 </I><BR>><I> > 并行... </I><BR>><I> ^^^^^^^^那以以下这个程式来看呢? </I><BR>><I> : </I><BR>><I> if ((pid=fork())<0) { </I><BR>><I> perror("fork"); </I><BR>><I> exit(-1); </I><BR>><I> } </I><BR>><I> do { </I><BR>><I> : </I><BR>><I> : </I><BR>><I> } while(TRUE); </I><BR>><I> 是不是说child process建立出来之後,此child proc. 便会从 do-loop </I><BR>><I> 这里做起呢? </I><BR> <BR> child process id > 0 , return value分别为 <BR> parent 收到 child pid, 而child process 收到 0, <BR> 所以 parent & child 都执行 do-while. <BR> <BR> <BR>><I> -------------------------------------------------------------------------- < </I><BR> <BR>发信人: <A HREF="mailto:Chicken.bbs@cis.nctu.edu.tw">Chicken.bbs@cis.nctu.edu.tw</A> (无敌喷饭鸡), 看板: programming <BR>标 题: Re: Multi-Client communication! <BR>发信站: 交大资科_BBS (Thu May 16 15:18:42 1996) <BR>转信站: maple!news.ee.nthu!news.cis.nctu!cis_nctu <BR> <BR>><I> > 不是... 是从你执行 fork() 的这个地方, 分成两个 process 同时 </I><BR>><I> > 并行... </I><BR>><I> ^^^^^^^^那以以下这个程式来看呢? </I><BR>><I> : </I><BR>><I> if ((pid=fork())<0) { </I><BR>><I> perror("fork"); </I><BR>><I> exit(-1); </I><BR>><I> } </I><BR>><I> do { </I><BR>><I> : </I><BR>><I> : </I><BR>><I> } while(TRUE); </I><BR>><I> 是不是说child process建立出来之後,此child proc. 便会从 do-loop </I><BR>><I> 这里做起呢? </I><BR> <BR> 不是... 你 call fork() 之後, 就已经分出一个 child process 了.. <BR> child 会从 fork() return 的地方开始跑下去... parent 也是接著 <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -