- 博客(8)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 leetcode 题解 98. Validate Binary Search Tree
今天开始leetcode题解,又是一个没头没尾的开始,不知道能不能全部写完。首先给大家分享一个典型的错误答案:bool isValidBST(struct TreeNode* root) { struct TreeNode* left; struct TreeNode* right; if(root==NULL||(root->left==NULL&&root->r
2016-09-16 09:34:35 520
原创 TCP协议相关内容总结
这一篇blog的内容主要是对TCP协议的相关内容进行总结,主要参考TCP/IP详解第19章到第23章的内容。首先来看TCP的数据确认方式:对最后成功收到的字节的序号加1,进行确认(也就是所谓的下一个期望数据的序号)。滑动窗口协议:滑动窗口是发送方根据接收方的窗口大小进行流量控制的方式,窗口可以沿三个方向移动。称窗口左边沿向右边沿靠近为窗口合拢。这种现象发生在数据被发送和确认
2016-09-11 09:33:08 379
原创 UDP协议相关内容总结
本篇blog的主要内容就是根据TCP/IP详解中第11章的内容总结的。首先是一个基本概念,UDP是一个面向数据报的传输层协议:进程的每个每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。正是这一发送方式,造成了UDP在数据报的发送过程中保持了边界。此处的“保持边界”可以通过一个例子理解:对于UDP协议而言,客户端连续发送数据,此时不管服务器的接收缓冲区有多大,也只能一
2016-09-10 21:39:21 633
原创 Unix网络编程读书笔记(七)
可能阻塞的套接字调用可分为以下四类:1)输出操作:包括read、readv、recv、recvfrom和recvmsg共5个函数。对于TCP协议而言,由于TCP是面向字节流的,因此被阻塞的进程被唤醒,是由于只要有一些数据到达,这些数据可能是单个字节,也可能是一个TCP的完整分节中的数据。因此如果想等到某个固定数目的数据可读为止,可以指定MSG_WAITALL标志。对于UDP协议而言,由
2016-09-04 10:10:32 482
原创 Unix网络编程读书笔记(六)
在涉及套接字的I/O操作上设置超时的方法有以下3种:调用alarm函数。在select中阻塞等待I/O,以此代替直接阻塞在read或write调用上。使用SO_RCVTIMEO和SO_SNDTIMEO套接字选项。上述三个技术都适用于输入和输出操作,不过上述技术
2016-09-03 11:26:01 551
原创 Unix网络编程读书笔记(五)
使用UDP编写的一些常见的应用程序有:DNS(域名系统)、NFS(网络文件系统)和SNMP(简单网络关系协议)。UDP协议的通信函数分别是sendto与recvfrom函数,函数原型如下:#include extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __S
2016-09-01 21:54:36 556
数据集中模糊的目标应该如何标注
2018-11-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人