unix网络编程第三版源代码ubuntu下配置的问题解决
第一步:首先下载本书配套的源码unpv13e.tar.gz
第三步:由于我的是ubuntu。因此运行上面的6 8 9 11 12
然后进入intro编译第一个程序就可以
这样的情况说明server没有启动daytime服务!
然后重新启动并执行程序就可以看到结果:
第二步:解压后进入根文件夹有一个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