网络协议学习
小飞侠-2
我的github地址https://github.com/liujiekasini 欢迎大家分享讨论
展开
-
TCP 的那些事儿
(上)TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文转载 2016-10-27 09:13:18 · 408 阅读 · 0 评论 -
Java NIO 系列教程
原文地址:http://tutorials.jenkov.com/java-nio/index.html作者:Jakob Jenkov 译者:郭蕾 校对:方腾飞Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels a转载 2016-10-27 09:13:55 · 252 阅读 · 0 评论 -
JAVA RMI线程模型及内部实现机制
JAVA RMI线程模型及内部实现机制 1 RMI内部实现 JAVA RMI是JAVA分布式结构的基础。 远程对象的通信过程中, RMI 使用标准机制: stub 和skeleton 。远程对象的 stub 担当远程对象的客户本地代表或代理人角色,调用程序将调 用本地stub 的方法,而本地 stub 将负责执行对远程对象的方法调用。在 RMI 中,远程对象的 stub 与该远程对象转载 2016-10-27 09:14:34 · 1562 阅读 · 0 评论 -
JAVA Socket超时浅析
JAVA Socket超时浅析 套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听”进入的连接;Socket,客户端用它初始一次连接。侦听套接字只能接收新的连接请求,不能接收实际的数据包转载 2016-10-27 09:15:14 · 2575 阅读 · 0 评论 -
BIO, NIO, AIO(转)
NIO通常采用Reactor模式,AIO通常采用Proactor模式。AIO简化了程序的编写,stream的读取和写入都有OS来完成,不需要像NIO那样子遍历Selector。Windows基于IOCP实现AIO,Linux只有eppoll模拟实现了AIO。Java7之前的JDK只支持NIO和BIO,从7开始支持AIO。4种通信方式:TCP/IP+BIO, TCP/IP+NIO,转载 2016-10-27 09:17:28 · 301 阅读 · 0 评论 -
同步/异步与阻塞/非阻塞的区别--多线程编程基础
在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任转载 2016-10-27 09:18:20 · 530 阅读 · 0 评论