UNP1/2安装问题


本文,《UNIX网络编程·套接字编程》卷1
  1. 源码编译及运行

源码编译及运行

运行书本第一例子:
测试:./daytimetcpcli 127.0.0.1
connect error: Connection refused
安装并修改xinetd,启动服务,验证
h265@H265:unpv13e$ netstat | grep day
tcp        0      0 localhost:daytime       localhost:36932         TIME_WAIT 
显然,服务已经正常启动,再次启动daytimetcpcli
h265@H265:intro$ ./daytimetcpcli 127.0.0.1
11 APR 2017 23:27:10 CST

测试:./daytimetcpsrv
bind error: Permission denied
链接,给sudo权限运行后:sudo ./daytimetcpsrv
bind error: Address already in use
intro/daytimetcpsrv.c运行笔记, 连接
显然,是上面启动了xinetd服务(暂用了端口13)
h265@H265:unpv13e$ service xinetd stop
然后,再次启动:sudo ./daytimetcpsrv
h265@H265:intro$ (阻塞再次)
再次启动:./daytimetcpcli 127.0.0.1
h265@H265:unpv13e$ ./intro/daytimetcpcli 127.0.0.1
Tue Apr 11 23:28:59 2017


上面是一个比较基础的修改,更多的是无法去预测的错误(不同的平台,config产生的配置文件是不一样的),在之后的子目录里面执行make,大多数都是根据实际的错误提示来修改:一般如下
  1. 宏没有定义(一般是,平台参数不一样造成没有定义)
  2. 函数参数缺少(因为这已经是第3版了,之前的代码都是比较久,而linux又是一个更新非常快的系统,难免有一些接口会改变)
但是,上面的修改,几乎不需要修改多少东西,往往是添加一点点东西(或者定义一个参数、修改一个变量即可),有编程经验或者对linux平台熟悉的,都可以修改正确,完成demo的测试功能。实在不行,就调试,学习效果俱佳。

你可能感兴趣的:(Linux,C/C++)