unix网络编程第三版源代码ubuntu下配置的问题解决

第一步:首先下载本书配套的源码unpv13e.tar.gz

第二步:解压后进入根文件夹有一个README

4	Execute the following from the src/ directory:
     5	
     6	    ./configure    # try to figure out all implementation differences
     7	
     8	    cd lib         # build the basic library that all programs need
     9	    make           # use "gmake" everywhere on BSD/OS systems
    10	
    11	    cd ../libfree  # continue building the basic library
    12	    make
    13	
    14	    cd ../libroute # only if your system supports 4.4BSD style routing sockets
    15	    make           # only if your system supports 4.4BSD style routing sockets
    16	
    17	    cd ../libxti   # only if your system supports XTI
    18	    make           # only if your system supports XTI
    19	
    20	    cd ../intro    # build and test a basic client program
    21	    make daytimetcpcli
    22	    ./daytimetcpcli 127.0.0.1
    23	
    24	If all that works, you're all set to start compiling individual programs.

第三步:由于我的是ubuntu。因此运行上面的6 8 9 11 12

即在根文件夹下运行

./configure

然后

 cd lib
make 
在进入libfree 运行make

cd ../libfree
make
第四步(非常重要):

cp ./lib/unp.h /usr/include/
cp ./config.h /usr/include/

然后进入intro编译第一个程序就可以

 cd ../intro    
make daytimetcpcli
 ./daytimetcpcli 127.0.0.1
发现报错:connect error: Connection refused
这样的情况说明server没有启动daytime服务!

第五步:

启动daytime服务


sudo apt-get install xinetd

sudo vi /etc/xinetd.d/daytime 将disable =yes改为no

然后重新启动并执行程序就可以看到结果:

/etc/init.d/xinetd restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service xinetd restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop xinetd ; start xinetd. The restart(8) utility is also available.
xinetd stop/waiting
xinetd start/running, process 21975
root@wl-Lenovo-B590:/myworkspace/unixnetwork/unpv13e/intro# ./daytimetcpcli 127.0.0.1
18 APR 2014 14:03:08 CST



posted @ 2016-03-07 09:48  mengfanrong  阅读(390)  评论(0编辑  收藏  举报