TCP/IP Illustrated Episode 2
安装好FreeBSD,继续编译剩下的代码。
1、链接
http://www.kohala.com/start/tcpipiv1.tar.Z
2、解压缩
3、makefile需要修改
# Following line for SVR4, Solaris 2.x
#LIBS = /usr/ucblib/libucb.a -lsocket -lnsl 注释掉# Following line for 4.4BSD, BSD/386, SunOS 4.x, AIX 3.2.2
LIBS = #取消注释
4、sock下的strerror.c文件需要修改
extern char *sys_errlist[];
extern int sys_nerr;
改为
extern const char * const sys_errlist[];
extern const int sys_nerr;
然后就可以编译了。
Openindiana
makefile需要修改
# Following line for SVR4, Solaris 2.x
#LIBS = /usr/ucblib/libucb.a -lsocket -lnsl 注释掉# Following line for 4.4BSD, BSD/386, SunOS 4.x, AIX 3.2.2
LIBS = -lsocket -lnsl
但是socket文件夹下会有问题,提示:
error: structure has no member named `msg_control'
error: structure has no member named `msg_controllen'
error: structure has no member named `msg_flags'
原因如下:
4.3BSD
不幸,对于4.3BSD以及在其基础上构造的SunOS和Ultrix,以及从4.3BSD Reno开始的后续版本我们必须提供不同的实现。为了交换文件描述符,调用sendmsg(2)和recvmsg(2)函数。这两个函数的参数中都有一个指向msghdr的指针,该结构包含了所有关于要发送和接收消息的信息。该结构定义在<sys/socket.h> 头文件中,在BSD4.3之下,其样式是:
strcut msghdr { caddr_t msg_name; 可选的地址 int msg_namelen; 地址长度 struct iovec msg_iov; 散布/聚集数组 int msg_iovlen; 在msg_iov数组中的元素数 caddr_t msg_accrights; 存取权发送/接收到 int msg_accrightslen; 存取权缓存的长度
}
从4.3BSD Reno开始,更改了msghdr结构的定义。在以前版本中被称之为"存取权" 的最后两个元素改称为"辅助数据"。另外,在该结构结束处增加了一个新成员msg_flags。
strcut msghdr { caddr_t msg_name; 可选的地址 int msg_namelen; 地址长度 struct iovec msg_iov; 散布/聚集数组 int msg_iovlen; 在msg_iov数组中的元素数 caddr_t msg_control; 辅助数据 int msg-controllen; 辅助数据的长度 int msg_flags; 接收到消息的标志
}
在CFLAGS一行加上
-D_XOPEN_SOURCE=500 -D__EXTENSIONS__
TCP/IP Illustrated Episode 2相关推荐
- TCP/IP Illustrated Episode 3
这是新的书,TCP/IP详解三卷.由于之前的经验,目前简单说明一下笔记记录方法.首先还是英文版本,复制. 第一卷 复制文字,使用Wireshark查看各类协议,可能部分协议需要使用特殊机器,如果实在不 ...
- TCP/IP Illustrated
Web site: http://www.kohala.com/start/ TCP/IP Illustrated,Volume 1:The Protocols Author: W.Richard S ...
- 图灵喜获Stevens名著《TCP/IP Illustrated》影印版权
图灵再获得培生教育出版集团授权,即将出版<TCP/IP详解>(3卷)的影印版. 此前,图灵在2006年先后出版了<Unix环境高级编程(第2版)>的影印版和翻译版.并于2009 ...
- TCP/IP illustrated 阅读笔记(三) IP协议
1. 什么是IP协议: Internet Protocol,工作在网络层,是TCP/IP协议族中的workhorse协议(意思就是IP是个搬砖的),是一个提供最best-effort(尽最大努力)的无 ...
- TCP/IP illustrated 阅读笔记(四) UDP协议和IP分段
1. 什么是UDP协议 UDP协议,user datagram Protocal,是一个简单的.面向datagram的传输层协议, 特点:可以保存消息边界(message boundarie ...
- TCP/IP详解卷1 - wireshark抓包分析
TCP/IP详解卷1 - 系列文 TCP/IP详解卷1 - 思维导图(1) TCP/IP详解卷1 - wireshark抓包分析 引言 在初学TCP/IP协议时,会觉得协议是一种很抽象的东西,通过wi ...
- TCP/IP协议栈之LwIP(六)---网络传输管理之TCP协议
文章目录 一.TCP协议简介 1.1 正面确认与超时重传 1.2 连接管理与保活机制 1.3 滑动窗口与缓冲机制 1.4 流量控制与拥塞控制 1.5 提高网络利用率的其他机制 二.TCP协议实现 2. ...
- TCP/IP之四书五经
TCP/IP协议是当前广域网和局域网通用的网络协议,因此,基于TCP/IP的编程就格外重要.从应用上来说,现在直接利用C层次Socket API进行TCP/IP编程的人确实越来越少了,各种现成的框架( ...
- 《TCP/IP 卷一》笔记、ping和traceroute 的实现思路
一.TCP协议相关笔记 Normally TCP does not send an ACK the instant it receives data. Instead, it delays the A ...
最新文章
- Quick Cocos2dx 初步战斗
- 测试人员必学的软件快速测试方法(三)
- 编程之美-求数组的子数组之和的最大值方法整理
- springboot 1.5.2 集成kafka 简单例子
- 委外订单_ERP软件教程:金蝶ERP的委外加工业务流程(一)
- 【转】深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第四节 参数传递对堆栈的影响 2
- 编程到底该用 Tab 还是 Space?比尔·盖茨也来挑事儿
- MyStringTokenize
- leetcode刷题之 两数之和
- PyGame:Python 游戏编程入门-1
- 复制文件并重命名到新的文件夹
- 赛事+内容IP齐发力,汽车之家打破Z世代次元壁
- 2021年最近的猝死案例有点多!!!(关注我,让你活的更久一点)
- vue-router的参数的传递、懒加载以及嵌套路由的使用
- 怎样快速生成一个动态二维码?动态个性二维码怎么做?
- 怎么把mov格式的视频转换成mp4?
- Samy 蠕虫代码
- 华南x79主板u盘装系统教程_华南主板win10改win7系统及BIOS设置教程
- mezzanine用户扩展/PUBLIC USER ACCOUNTS(一)
- sql 数据库创建及建表,
热门文章
- nec c语言笔试题,红外NEC编码发射程序_C语言(国外英文资料).doc
- 什么软件可以支持视频合并?
- 制作多系统U盘(一个U盘两个系统,适用于win)
- 【文艺复兴之swing】JOptionPane.showConfirmDialog设置字体大小
- 【无标题】 z中国分布式能源行业发展态势及供需前景预测报告2022-2027年
- wifi信道12为啥没人用_2.4GWiFi哪个信道最好?13信道有什么特殊的地方吗?
- stripes+jersery的web.xml配置
- 经典论文之ResNet
- Java 实现word pdf在线预览
- BLDC有感无刷电动车控制器方案,基于STC12/STM32开发