`
吃货吃货
  • 浏览: 31979 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
TCP深入解析(二) ——TCP差错恢复方法 在上篇TCP的博客中我们就提及过这个问题,那么就是关于数据传输协议怎么处理丢失、损坏及延时过大的分组,而在流水线技术中的两种基本差错恢复方法就是:回退N步(GBN)和选择重传(SR)。 首先当然是截取至百度百科的相关定义: 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。 当发送窗口和接收窗口的大小都等于 1时,就是停止等待协议
前段时间通过学习计算机网络自己也算是有了一些心得,特意参照SMTP协议以及POP3协议自己写了一个类似于接收邮件的应用层协议,以后再详细简介,也是基于SOCKET TCP通信实现。 那么我们先来段关于TCP协议的简介: 首先,还是老样子,来自百度百科的定义: TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet proto ...
面向无连接的传输:UDP协议 上次我们简单的介绍了一下传输层以及相关协议,这次我们就来详细的研究一下UDP,研究一下该协议是怎么工作,具有哪些功能。 最开始还是关于UDP的定义,首先看来自百度百科的: UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP
前几篇计算机网络的博客简单的介绍了一下应用层以及相关协议,接下来我们便往上在看一层。当一个应用程序将其所需要向服务器或者其他主机发送的消息通过相关应用层协议打包成报文时,报文便会被发往运输层中使用相应的运输层协议打包成报文段之后再发往更上一层。 从上面我们可以得出运输层为运行在不同的主机的应用程序提供直接的通信服务起着至关重要的重要,是分层网络体系结构中非常重要的部分。 来自百度百科的定义: 运输层 OSI七层模型中的物理层、
DNS简介 来自百度百科的定义: DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP
应用层协议——HTTP协议 对于20世纪90年代最为重要的计算机应用无疑是Web(万维网)的出现,极大的改变了人们对计算机的认识,从那以后,人们与外界的信息交流不一定只能安装客户端才能使用,而Web的应用层协议(核心)就是HTTP协议,即超文本传输协议。 HTTP简介 来自百度百科的定义: 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有
最近一直在阅读《计算机网络自顶向下方法》这本书,也算是有一点心得,来和大家分享一下~ 首先我们大家都熟知计算机网络一般的分层为5层:应用层,传输层,网络层,链路层与物理层。那我也按照这本书的阅读顺序,首先从应用层总结起: 来自百度百科的定义: 应用层: 应用层也称为应用实体(AE),它由若干个特定应用服务元素(SASE)和一个或多个公用应用服务元素(CASE)组成。每个SASE提供特定的应用服务,例如文件运输访问和管理(FTAM)、电子文电处理(MHS)、虚拟终端协议(VAP)等。CASE提供一组公用的应用服务,例如联系控制服务元素(ACSE)、可靠运输服务元素(RTSE)和远程操作 ...
解决组件与父组件监听冲突问题 相信大家在做android开发的时候,都会有遇到组件与父组件的监听相互冲突的时候。 举个具体的例子:在游戏详情Activity中使用了一个横向的ListView为了显示图片,但是为了翻阅方便,我们通常会在这个Activity中使用一个ScrollView显示,这样的话,就不用担心文本中信息过长而导致的界面无法显示,虽然这样能够让我们的界面更加美观,但也增加了一个难题,就是在ListView中拖拽时,父组件(也就是ScrollView)也会监听到这样的一个事件,于是当你想拖动ListView时,有可能会没有反应,但是ScrollView却有可能做出相应的反应。其 ...
Android应用清理内存     最近这段时间在做手机应用开发的时候遇上android内存清理的问题,一直在网上查找各种资料,不过尝试了很多方法都没有用,最后在GitHub的帮助下也算是完成了,以下特意总结了一下内存清理的方法,可以将那些无用的进程给shut down掉,上代码~ protected void onClearMemory(Context context) { ActivityManager activityManger = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVI ...
说实话,其实已经有段时间没有接触android开发了,不过这个学期也算是重新拾起了android开发,不过最近看到手机移动端开发应用这么火,自己也算是确定了以后以手机应用开发为主的发展方向吧。闲话不多说,直接切入正题: 大家都用过手机QQ应该知道,手机QQ上的好友列表用起来非常的方便,其实就是通过android中的一个控件listView来实现的,我们暂时先实现一个最简单的listView的例子(之后的扩展功能可以自己添加),如下图所示:    首先我们要明确列表的显示需要三个元素: 1.ListVeiw用来展示列表的View; 2.适配器用来把数据映射到ListView上的中介; ...
排序算法的实现及性能分析 ——(java版) 排序是对数据元素序列建立某种有序排列的过程。更确切的说,排序是把一个数据元素序列整理成按关键字递增(或递减)排列的过程。 不过首先,我们必须先解释一下关键字这个词。关键字是要排序的数据元素集合中的一个域,排序是以关键字为基准进行的。而关键字也分为主关键字和次关键字。对于要排序的数据元素集合来说,如果关键字满足数据元素值不同时,该关键字也不同,这样的关键字称为主关键字。不满足主关键字定义的就称为次关键字。 简单来说,排序分为内部排序和外部排序两种。内部排序是把待排序的数据元素全部调入内存中进行的排序。如果数据元素的数量过大,需要分批导入内存, ...
Java数据结构(四) ——二叉树 我们都知道数据结构时计算机存储时、组织数据的方式。数据结构是指相互之间存在一种或者多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行效率或者存储效率。而一般来说,我们常用的数据结构是:数组,栈,队列,链表,树,图,堆,散列表。这次主要就是二叉树的一点基本知识以及基本实现。   定义 一般的定义是二叉树是由n(n>=0)个结点构成的,每个结点最多只有两个子树的有序树。而在图论中是这么定义的:二叉树是一个连通的无环图,并且每一个顶点的度不大于3,有跟二叉树还要满足根结点的度不大于2。有了根结点之后,每个顶点定义了一个 ...
Java数据结构(三) ——队列 队列(简称为队)也是一种特殊的线性表,队列的数据元素以及数据元素之间的操作与线性表完全相同,差别是线性表允许在任意位置插入和删除,而队列只允许在一端进行插入操作而在另一端进行删除操作。队列允许插入操作的一端称为队尾,允许进行删除操作的一端称为对头。队列的插入操作通常称为入队列,队列的删除操作通常称为出队列。 因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,因此队列也被称为先进先出表。比方说,大家在食堂排队买饭时,只有最早来排队的,即最先入队列的,才能最先买到饭,即最先出队列。 顺序队列 使用顺序存储结构的队列称 ...
Java数据结构(二) ——栈 栈是一种特殊的线性表。栈的数据元素以及数据元素的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而栈只允许在固定一段进行插入和删除操作。栈中允许进行插入和删除操作的一段称为栈顶,另一端称为栈底。栈的插入操作通常我们都成为进栈或入栈~~而删除操作通常称为出栈或退栈。 根据栈的定义,每次进栈的数据元素都放在原当前栈顶元素之前而成为新的栈顶元素,每次退栈的数据元素都是当前栈顶元素,这样,最后进入栈的数据元素总是最先退出栈,因此栈也被称为后进后出表。 顺序栈   Java代码 
Java数据结构(一) ——线性表 线性表(亦作顺序表)是最基本、最简单、也是最常用的一种数据结构。线性表的主要特点是,可以在任意位置插入一个数据元素或删除一个数据元素。线性表可以用顺序存储结构或链式存储结构实现,使用顺序存储结构实现的线性表称为顺序表,而使用链式存储结构实现的称为链表,链表主要有单链表,循环单链表,双向链表等。在本篇博客中主要介绍实现的是顺序表与单链表两种。     顺序表 package pzw.List; /** * 利用线性表接口实现顺序表类 * @author PZW * */ public class SeqList implem ...
Global site tag (gtag.js) - Google Analytics