TCP-IP资料整理——IP|TCP|UDP Heade…


为了方便学习查阅TCP-IP,特意收集整理了点IP|TCP|UDP 头的视图和结构体。下面的图片中文的是截自《详解TCP-IP》汉化电子版,注释是把几个站上的给综合了一下。

***********************************************************************************The Fuck Cutline********************************************************************************
***

IP头视图
TCP-IP资料整理鈥斺擨P|TCP|UDP <wbr>Header <wbr>Struct&PIC
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
IP头结构体

typedef struct _IPHeader                    // 20字节的IP
{
    UCHAR     iphVerLen;          // 4
位首部长度+4IP版本号            | Version (4 bits) + Internet header length (4 bits)
    UCHAR     ipTOS;                 // 8
位服务类型                                    | TOS Type of service
    USHORT    ipLength;             // 16
位封包总长度,即整个IP报的长度   | Total length
    USHORT    ipID;                    // 16
位封包标识,惟一标识发送的每一个数据报      | Identification
    USHORT    ipFlags;              // 3
位标志位+13报片偏移                 | Flags (3 bits) + Fragment offset (13 bits)
    UCHAR     ipTTL;                 // 8
位生存时间,就是TTL                 | Time to live
    UCHAR     ipProtocol;            // 8
位协议,TCPUDPICMP          | Protocol
    USHORT    ipChecksum;    // 16
IP首部校验和                   | Header checksum
    ULONG     ipSource;          // 32
位源IP地址                       | Source address
    ULONG     ipDestination;            // 32
位目标IP地址                     | Destination address
} IPHeader, *PIPHeader;      


***********************************************************************************The Fuck Cutline***********************************************************************************

TCP头视图
TCP-IP资料整理鈥斺擨P|TCP|UDP <wbr>Header <wbr>Struct&PIC
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

TCP头结构体


typedef struct _TCPHeader          // 20字节的TCP
{
       USHORT sourcePort;           // 16
位源端口号    | Source port
       USHORT destinationPort;      // 16
位目的端口号 | Destination port
       ULONG sequenceNumber;       // 32
位序列号      | Sequence Number
       ULONG acknowledgeNumber;    // 32
位确认号      | Acknowledgement number
       UCHAR   dataoffset;                        // 
4位表示数据偏移,低6位保留字 | Header length
       UCHAR   flags;                  // 6
位标志位       | packet flags
       USHORT windows;                    // 16
位窗口大小    | Window size
       USHORT checksum;                  // 16
位校验和      | Header Checksum
       USHORT urgentPointer;        // 16
位紧急数据偏移量   | Urgent pointer...still don't know what this is...
} TCPHeader, *PTCPHeader;      

                                              

*************
**********************************************************************The Fuck Cutline***********************************************************************************

UDP头视图
TCP-IP资料整理鈥斺擨P|TCP|UDP <wbr>Header <wbr>Struct&PIC
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UDP头结构体

typedef struct _UDPHeader
{
       USHORT               sourcePort;           // 16
位源端口号   | Source port
       USHORT               destinationPort;      // 16
位目的端口号 | Destination port     
       USHORT               len;                  // 16
位封包长度   | Sequence Number
       USHORT               checksum;             // 16
位校验和     | Acknowledgement number
} UDPHeader, *PUDPHeader;                   



***********************************************************************************The Fuck Cutline***********************************************************************************


零魂(zerosoul)整理制作。
http://hi.baidu.com/0soul
<think>首先,用户的问题是关于如何在Element UI的el-table中编写表格的header模板。用户提到:"我想在使用el-table时,如何编写模板中的表头部分 请问如何在el-table中编写表格的header模板" 从系统指令中,我需要: - 使用$...$格式的行内数学表达式(如果有的话,但这里可能不涉及数学)。 - 独立公式用$$...$$格式(同样,可能不适用)。 - LaTeX语法正确(但这里主要是代码和文本)。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 用户提供了几个引用: - 引用[1]:讨论tableData和tableHeader的结构,包括prop、label、sort、fixed等。 - 引用[2]:关于如何给表头加必填符号星号,使用render-header属性。 - 引用[3]:一个Vue组件的例子,包括el-header等。 用户的核心需求是:如何在el-table中编写表格的header模板。具体来说,用户想自定义表头部分。 在Element UI的el-table中,表头可以通过几种方式自定义: 1. 使用el-table-column的label属性:这是最简单的方式,直接设置文本。 2. 使用slot:可以通过scoped slot或header slot来自定义表头内容。 3. 使用render-header属性:用于渲染表头,允许使用JSX或函数。 从引用[2]中,提到了使用render-header属性来添加必填符号星号。这是一个很好的例子。 所以,我应该基于这些信息构建回答。 回答结构: 1. **介绍基本方法**:解释el-table中表头的基本设置。 2. **详细说明自定义方式**: - 使用label属性。 - 使用header slot。 - 使用render-header属性(重点,因为引用[2]提供了例子)。 3. **提供代码示例**:基于引用[2]的例子,展示如何自定义表头。 4. **添加引用标识**:在相关部分末尾添加引用。 5. **生成相关问题**:在回答结束后,列出相关问题。 确保回答清晰、逐步解决问题。 大纲: - 开头:直接回答问题,解释如何在el-table中编写header模板。 - 主体: - 方法1:使用label属性(简单文本)。 - 方法2:使用header slot(自定义HTML内容)。 - 方法3:使用render-header属性(函数式渲染)。 - 提供代码示例,特别是render-header的例子。 - 结尾:总结。 - 相关问题:生成3-5个相关问题。 引用标识: - 当引用引用[1]时,添加[^1]。 - 当引用引用[2]时,添加[^2]。 - 当引用引用[3]时,添加[^3],但引用[3]似乎不直接相关,所以可能少用。 引用[1]是关于tableHeader结构的,引用[2]是关于render-header的具体实现。 代码示例: - 使用用户提供的例子,稍作调整。 - 例如,从引用[2]:addRedStar函数。 最后,生成相关问题: - 例如:1. 如何动态更改表头?2. 如何添加排序功能?3. 如何固定表头?等等。 完整回答: - 用中文。 - 结构清晰。</think>### 如何在 Element UI 的 el-table 中编写表格的 header 模板 在 Vue.js 中使用 Element UI 的 `el-table` 组件时,自定义表头模板是常见的需求,例如添加图标、样式或必填符号。以下是三种常用方法,逐步说明如何实现。所有方法都基于 `el-table-column` 组件进行配置。 #### 1. **使用 `label` 属性(简单文本表头)** 这是最基本的方式,直接在 `el-table-column` 中设置 `label` 属性来定义表头文本。适用于不需要复杂样式的场景。 ```vue <template> <el-table :data="tableData"> <el-table-column prop="userName" label="用户名"></el-table-column> <el-table-column prop="userType" label="用户类型"></el-table-column> </el-table> </template> ``` - **优点**:简单快捷,无需额外代码。 - **缺点**:无法添加自定义 HTML 元素(如图标或样式)。 #### 2. **使用 `header` slot(自定义 HTML 内容)** 通过 `header` slot 可以完全自定义表头内容,支持 HTML 和 Vue 组件。适用于需要复杂布局或动态内容的情况。 ```vue <template> <el-table :data="tableData"> <el-table-column prop="userName"> <template #header> <span style="color: red;">*</span> 用户名 <!-- 添加红色星号 --> </template> </el-table-column> <el-table-column prop="userType"> <template #header> <el-tooltip content="用户类型说明"> <span>用户类型 <i class="el-icon-question"></i></span> <!-- 添加提示图标 --> </el-tooltip> </template> </el-table-column> </el-table> </template> ``` - **优点**:灵活性强,可直接嵌入任意 HTML/Vue 代码。 - **缺点**:在大型项目中可能影响性能,需手动管理样式。 #### 3. **使用 `render-header` 属性(函数式渲染)** 通过 `render-header` 属性定义一个函数,使用 JSX 或 `h` 函数(Vue 的 createElement)渲染表头。这是最推荐的方式,尤其适合需要复用或条件渲染的场景[^2]。 ```vue <template> <el-table :data="tableData"> <el-table-column prop="userName" :render-header="addRedStar" <!-- 绑定自定义渲染函数 --> ></el-table-column> </el-table> </template> <script> export default { methods: { // 渲染函数:添加红色必填符号 addRedStar(h, { column }) { return h('span', [ h('span', { style: 'color: red;' }, '*'), // 红色星号 h('span', ' ' + column.label) // 表头文本 ]); } }, data() { return { tableData: [], // 你的数据数组 tableHeader: [ // 表头配置,参考引用[1] { prop: 'userName', label: '用户名', sort: false }, { prop: 'userType', label: '用户类型', sort: true } ] }; } }; </script> ``` - **优点**:代码可复用,易于维护;支持动态参数(如根据条件显示星号)。 - **缺点**:需熟悉 Vue 的渲染函数语法。 - **关键点**: - `h` 函数用于创建虚拟 DOM 元素。 - `column` 参数自动传入表头配置(如 `label`),可直接使用[^1]。 #### 总结 - **简单需求**:用 `label` 属性。 - **中等复杂度**:用 `header` slot。 - **高级或复用需求**:用 `render-header` 函数,结合 `tableHeader` 配置对象实现动态控制[^1][^2]。 - **性能提示**:在大型项目中,优先选择 `render-header` 避免 slot 的开销[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值