《UNIX网络编程 卷1》一、环境配置
引言
之前做的客户端开发主要重难点在于业务逻辑的抽象与实现,而服务端开发对技术的要求更高。遂开始学习《UNIX网络编程 卷1:套接字联网API(第3版)》,敦促自己坚持。
本书源码可以在官网或者图灵社区免费获取
环境:macOS 10.13.1
环境配置
./configurecd lib
makecd ../libfree
make
此处报错:
$ make
gcc -I../lib -g -O2 -D_REENTRANT -Wall -c -o in_cksum.o in_cksum.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall -c -o inet_ntop.o inet_ntop.c
inet_ntop.c:56:1: error: conflicting types for 'inet_ntop'
inet_ntop(af, src, dst, size)
^
/usr/include/arpa/inet.h:77:13: note: previous declaration is here
const char *inet_ntop(int, const void *, char *, socklen_t);^
1 error generated.
make: *** [inet_ntop.o] Error 1
提示inet_ntop
重复声明了,其实是头文件重复包含了,本想将/usr/include/arpa/inet.h
中该行注释掉,无奈权限问题解决不了。于是按照网上办法将inet_ntop.c
文件#include <arpa/inet.h>
这行注释掉,重新make即可。
接下来拷贝unp.h 文件及其对应的静态链接库 libunp.a 到 系统目录
cd .. // 回到主目录
// 修改unp.h
gedit lib/unp.h // 修改 #include "../config.h" 为 #include "config.h"
// 拷贝头文件
sudo cp config.h /usr/local/include
sudo cp lib/unp.h /usr/local/include
// 拷贝库文件
sudo cp libunp.a /usr/local/lib
// 接下来我们就可以编译书中的一些例子了,可以使用库文件链接 -lunp
// 如:gcc daytimetcpcli.c -o daytimetcpcli -lunp
示例代码
编译书中的第一个示例代码intro/daytimetcpcli.c
cd ./intro
gcc daytimetcpcli.c -o daytimetcpcli -lunp
执行
./daytimetcpcli 129.6.15.2858072 17-11-15 14:30:54 00 0 0 606.1 UTC(NIST) *
如果对时服务器IP不可用,可查询http://tf.nist.gov/tf-cgi/servers.cgi
参考
UNIX网络编程(第3版)环境搭建——使用MAC OSX10.10
UNIX网络编程之一:代码环境搭建
《UNIX网络编程 卷1》之”学习环境搭建”(CentOS 7)
《UNIX网络编程 卷1》一、环境配置相关推荐
- 1.UNIX网络编程卷1:源码配置
本节主要介绍UNIX网络编程卷1(第三版)在Ubuntu16.04的配置问题,并运行一个简单时间获取客户程序. 1.首先下载源文件,链接如下:UNIX Network Programming Sour ...
- Unix网络编程卷1 第一章读书笔记以及习题
1 下载源码并且配置环境 对于想学习网络编程的同学来说,<UNIX网络编程>这书肯定是不二选择.所谓实践是检验真理的唯一标志,特别是对于编程来讲,再多的理论经验也比不过code一次.< ...
- 《Unix网络编程卷1-套接字联网API》第一个例子编译 不通过问题解决
<Unix网络编程卷1-套接字联网API>是本好书. 但是第一个例子不是很好编译. 需要如下步骤: 本人机器CentOS 5.4 1.下载源码 unpv13e解压到任意目录 然后按其rea ...
- 《UNIX网络编程卷1》第一例及问题
<UNIX网络编程卷1>一上来就给了一个例子,新手不容易看懂,估计作者也没有打算让人看懂,作了详尽的解释.新手都想运行这个程序,我也是. 首先,给的程序都是在unix下运行的.这里有全书代 ...
- 《UNIX网络编程 卷1:套接字联网API(第3版)》——第2章 传输层:TCP、UDP和SCTP 2.1概述...
本节书摘来自异步社区<UNIX网络编程 卷1:套接字联网API(第3版)>一书中的第2章,第2.1节,作者:[美]W. Richard Stevens , Bill Fenner , An ...
- 《UNIX网络编程 卷2:进程间通信(第2版)》——1.4 名字空间
本节书摘来自异步社区<UNIX网络编程 卷2:进程间通信(第2版)>一书中的第1章,第1.4节,作者:[美]W. Richard Stevens著,更多章节内容可以访问云栖社区" ...
- 图灵社区 : 图书 : UNIX网络编程 卷1:套接字联网API(英文版•第3版)
图灵社区 : 图书 : UNIX网络编程 卷1:套接字联网API(英文版•第3版) 图灵社区 : 图书 : UNIX网络编程 卷1:套接字联网API(英文版•第3版) UNIX网络编程 卷1:套接字联 ...
- UNIX网络编程卷2:进程间通信(第2版)PDF——带完整书签
微信搜索[书为屋],获取更多免费学习资源和小工具,一起学习,一起进步! 下载地址:UNIX网络编程卷2:进程间通信(第2版) 带完整书签: 微信搜索[书为屋],获取更多免费学习资源和小工具,一起学习, ...
- UNIX网络编程.卷1,套接字联网API(第3版)(中文版)(Stevens经典著作,两位顶级网络编程专家应邀执笔修订)...
UNIX网络编程.卷1,套接字联网API(第3版)(中文版)(Stevens经典著作,两位顶级网络编程专家应邀执笔修订) 基本信息 原书名: Unix Network Programming, Vol ...
- 《UNIX网络编程 卷1:套接字联网API》学习笔记——基本TCP套接字编程
UNIX网络编程--基本TCP套接字编程 socket 函数 connect 函数 bind 函数 listen 函数 accept 函数 fork 和 exec 函数 并发服务器 close 函数 ...
最新文章
- SpringCloud 面试题,最新SpringCloud 面试题,2020 SpringCloud 面试题
- 教你如何以对象的方式思考
- NIO:channel、buffer、状态变量、socket、charset
- MySQL删除普通用户
- P4213 【模板】杜教筛
- java并发编程面试题_阿里常用Java并发编程面试试题总结
- 解决编译.spec:rpm build with: fg: no job control报错
- step7db块寻址_STEP7数据块DB问题
- 谷歌浏览器导致电脑右下角莫名弹出广告解决办法
- 优化 WordPress 网站让百度快速收录
- Service(一、本地服务)
- 中信银行总行信息科技岗(成都)2020届校招/秋招面经+薪资待遇(更新完,已offer)
- 一篇文章带你弄懂乐观锁与悲观锁,CAS原子性,synchronized底层原理
- 看了一篇别人的年终总结,感觉对自己的启发挺大的
- 学生喂养动物(猫,狗,鸟)
- linux查看声卡型号,Linux查看声卡信息
- nginx在Linux的安装和简单使用
- 电气设备自动化控制中PLC技术的应用
- php ginkgo,Ginkgo: Ginkgo是一个BDD风格的Go测试框架,旨在帮助您有效地编写富有表现力的综合测试...
- python物理模拟_如何在Python 游戏中模拟引力
热门文章
- 使用webgl(three.js)搭建一个3D智慧园区、3D建筑,3D消防模拟,web版3D,bim管理系统——第四课(炫酷版一)
- windowns server 2008 R2激活工具(含win7、vista)
- tcp中的crc检验算法原理_CRC校验算法原理
- CPAL脚本自动化测试 ———— UDP 系列函数
- 大学计算机—计算思维导论 中国大学mooc 哈尔滨工业大学 测验题目和答案
- EViews-蒙特卡洛模型代码
- 数学建模之蒙特卡罗模型
- eclipse安装与概述
- 方便好用的论文管理软件EndNote X9 + PDF阅读编辑器Adobe Acrobat DC(1)
- 我的世界java作弊怎么开_我的世界怎么开作弊?如何启用作弊模式?