Chinaunix首页 | 论坛 | 博客
  • 博客访问: 80065
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-02 20:25
文章分类

全部博文(31)

文章存档

2015年(2)

2014年(29)

我的朋友

发布时间:2014-09-11 16:41:22

  直接使用NIO进行网络编程,需要实现底层的连接细节,不免麻烦。 MINA屏蔽了底层的连接细节,用户只需要关注业务即可。 网络编程通常需要处理以下几个问题:1. 编码与解码2. 断包与粘包3. 业务处理  这些问题都是业务相关的,MINA不可能加以实现,但提供了友好的接口,用户只需要实现这些接口即可。.........【阅读全文】

阅读(848) | 评论(0) | 转发(0)

发布时间:2014-09-10 18:01:50

1. 3次握手  tcp连接建立需要3次握手:1. C(syn)--->S2. S(syn+ack)--->C3. C(ack)--->S。 仅一次握手肯定是不行的,因为一次握手C无法知道S的状态,若S不可达,C就在那白白的发送数据,浪费资源,不过C在重发了N次会释放连接。 就两次的话。问题是:C-->S的syn包被网络阻塞了,若这个syn包被S收到时.........【阅读全文】

阅读(814) | 评论(0) | 转发(0)

发布时间:2014-09-10 15:06:00

点击(此处)折叠或打开import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.channels..........【阅读全文】

阅读(805) | 评论(0) | 转发(0)

发布时间:2014-09-09 18:52:25

  多线程是解决socket的阻塞问题的一种方法,但该方法的问题是线程的最大数一般有限制,而且多个线程频繁的上下文切换需要消耗大量的系统资源。一个解决方法是采用线程池,但对于长连接采用线程池显然无法解决问题,通常采用的方式为NIO(非阻塞IO或IO复用)、AIO(异步IO)。java在1.7版本的时候开始支持AIO,BIO跟NIO.........【阅读全文】

阅读(847) | 评论(0) | 转发(0)

发布时间:2014-09-05 22:33:10

    在网络中设计到3个地址,一个是MAC地址,一个是IP地址,还有一个端口号,他们分别对应于TCP/IP协议的链路层、网络层跟传输层。1. MAC地址:实际数据交换使用的地址。2. IP地址:用于实现异构网络(链路)通信,而抽象于链路层之上的地址。用于表示互联网上的一台计算机。数据的传递要在相同结构的链路结构才.........【阅读全文】

阅读(815) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册