​##获得更多资料欢迎进入我的网站或者 csdn或者博客园

今天在温习计算机网络时,突然将我很久前买的《unix网络编程第三版卷一》拿出来看看了。放了两年了,哈哈。主要讲的套接字,之前编写android时用过socket(java),而本书全是c语言还是可以好好学习下的;然而第一个程序我就编译错误了,什么鬼!! ,还好之后,用了神奇的谷歌,发现源码下居然有readme。真是提醒我了,以后一定要注意这个文件。

源码下载地址官方地址

我直接编译遇见的问题:

#1.解压文件进入主目录
cd intro
#2.直接编译
gcc -o 1.out daytimetcpcli.c
#错误提示如下:
daytimetcpcli.c:1:17: fatal error: unp.h: No such file or directory
#include "unp.h"
^
compilation terminated.
#在../key目录下找到unp.h。继续提醒没有<sys/fiflo.h>从网上下载继续出问题。
#3.看到目录下有make文件,make一下:显示如下:
peace@peace:~/workspace/unpv13e/unpv13e/intro$ make
Makefile:1: ../Make.defines: No such file or directory
make: *** No rule to make target '../Make.defines'. Stop.

崩溃,简答的测试程序都不行。没办法,谷歌;终于找到了

解决办法:

参照主目录下readme文件执行一下命令:

注意:

1最后一个命令有改动

2前面三个命令是必须的 ./configure,cd lib ,make

3后面的cd ../libfree  cd ../libroute cd ../libxti 满足条件才需要执行

 ./configure    # try to figure out all implementation differences

    cd lib         # build the basic library that all programs need
make # use "gmake" everywhere on BSD/OS systems cd ../libfree # continue building the basic library
make cd ../libroute # only if your system supports 4.4BSD style routing sockets
make # only if your system supports 4.4BSD style routing sockets cd ../libxti # only if your system supports XTI
make # only if your system supports XTI cd ../intro # build and test a basic client program
make #官方是make daytimetcpcli

终于编译成功了。内牛满面;

测试:

sudo ./daytimetcpcli 127.0.0.1
[sudo] password for peace:
connect error: Connection refused
哭晕啊

成功执行

到网上一查才发现是系统默认没打开daytime服务。

解决办法:

在intro中执行一下命令打开daytime服务

 sudo ./daytimetcpsrv

由于此程序在运行中;需要另外打开终端,进入intro中测试

sudo ./daytimetcpcli 127.0.0.1
[sudo] password for peace:
Thu Jul 23 21:50:23 2015

得到正常结果;

我的失误,希望能对大家有帮助;

unix网络编程源码编译问题的更多相关文章

  1. linux/unix网络编程之 select

    转自http://www.cnblogs.com/zhuwbox/p/4221934.html linux 下的 select 知识点 unp 的第六章已经描述的很清楚,我们这里简单的说下 selec ...

  2. unix网络编程之listen()详解

    转自于:http://blog.csdn.net/ordeder/article/details/21551567 Unix网络编程描述如下: #include <sys/socket.h> ...

  3. 单片机C语言基础编程源码六则

    1.某单片机系统的P2口接一数模转换器DAC0832输出模拟量,现在要求从DAC0832输出连续的三角波,实现的方法是从P2口连续输出按照三角波变化的数值,从0开始逐渐增大,到某一最大值后逐渐减小,直 ...

  4. linux/unix网络编程之epoll

    转载自 Linux epoll模型 ,这篇文章讲的非常详细! 定义: epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显 ...

  5. linux/unix网络编程之 poll

    转自http://www.cnblogs.com/zhuwbox/p/4222382.html poll 与 select 很类似,都是对描述符进行遍历,查看是否有描述符就绪.如果有就返回就绪文件描述 ...

  6. 【itclx面向对象二】窥探itcl面向编程源码

    从上一篇博客看出,itcl的语法其实不难,但是有个缺点,编程习惯与当前类似C++常见的面向编程还是有些区别,并且在大型项目实施中这种方式很费劲. 于是有了itclx. 例如: 1.成员变量.成员方法调 ...

  7. 单片机C语言基础编程源码六则2

    1.某单片机系统的P2口接一数模转换器DAC0832输出模拟量,现在要求从DAC0832输出连续的三角波,实现的方法是从P2口连续输出按照三角波变化的数值,从0开始逐渐增大,到某一最大值后逐渐减小,直 ...

  8. Unix网络编程之环境搭建

    环境搭建 在尝试UNP书上的样例时,会由于找不到"unp.h"等问题无法编译成功.因此在学习之前须要先搭建好编译环境. 步骤 <1>下载  UNIX网络编程源码unpv ...

  9. Unix网络编程第三版源码编译

    配置: $ cd Unix-Network-Programming/ $ chmod 755 configure $ ./configure 主要的工作是检查系统是否有源码编译所依赖的各种资源(系统版 ...

随机推荐

  1. AMFObject 数据格式浅析

    amf.h中关于 AMFObject 是这样的定义的: typedef struct AMFObject { int o_num; struct AMFObjectProperty *o_props; ...

  2. HashMap与ConcurrentHashMap的区别(转)

    从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心. 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从 ...

  3. 使用alias让命令行更便捷

    在linux命令行上调试程序,经常是这样子做: $ ps x | grep sceneserver pts/ S+ : grep sceneserver ? Ssl : ./sceneserver/s ...

  4. php学习第一天-勤劳致富

    所谓“勤劳致富”,是很有科学依据的,且是经过我的亲身实践的. 自毕设突然转变为开发项目之后,整个天都变了.先是妹子给我订的票被强行取消,然后又是师兄的一句“***一小时就搞定了”,说明一下这个***是 ...

  5. 【HDU5861】Road

    题意 有n个村庄排成一排,有n-1条路将他们连在一起.每条路开放一天都会花费一定数量的钱.你可以选择打开或者关上任意条路在任意一天,但是每条路只能打开和关闭一次.我们知道m天的运输计划.每天都有一辆马 ...

  6. 【FZU2278】YYS

    题意 这里有n种卡片,如果你想得到一张新的卡片,你需要花费W枚硬币来抽一张卡片.每次只能抽一张.所有的卡片出现的概率都是1/n,你每天可以得到1枚硬币.初始时候没有硬币也没有卡片.每W天,你就会抽一张 ...

  7. php安装memcache

    php扩展memcache的作用是为了支持memcached数据库缓存服务器,下面是安装方法. 1.下载并解压memcache文件 1 2 3 wget -c http://pecl.php.net/ ...

  8. oracle 通过序列实现某字段自增

    -- 创建表 create table items( id int primary key, name ) not null, price int not null, detail ), pic ), ...

  9. 13-爬取百度贴吧中的图片(python+xpath)

    通过xpath分析页面,爬取页面中的图片: #_*_ coding: utf-8 _*_ ''' Created on 2018年7月15日 @author: sss function: 使用xpat ...

  10. osm2pgsql windows “illegal option -W” error

    新版本不支持 解决: 修改pg_hba.conf的METHOD为trust 参考:http://stackoverflow.com/questions/15510428/osm2pgsql-windo ...