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

全部博文(31)

文章存档

2015年(2)

2014年(29)

我的朋友

发布时间:2014-09-13 20:50:15

  在NIO中,通过serversocket的bind函数将channel与socket地址绑定,最后将该channel的op_accept注册到selector中,算是可以接受客户端的连接了。在MINA中,对op_accept事件使用单独一个selector,并可以监听多个channle的op_accept事件。对已经绑定过的SocketAddress,MINA并不检查,若已经绑定过,则会抛出已绑定的.........【阅读全文】

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

发布时间:2014-09-12 11:24:12

  TCP采用停止等待协议来避免数据在传输过程中丢失,一般的停止等待协议要求发送方在收到之前发送的数据后再发送剩余数据,为了提高数据发送的效率,TCP采用了一种累积确认的方式,这个协议为滑动窗口协议。由于网络双方的网速不尽相同,比如快的发送跟慢的接受,将导致接受服务器的接受缓冲区一直被填满,使得接受服.........【阅读全文】

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

发布时间:2014-09-11 21:13:26

  在MINA中提供了ProtocolEncoder跟ProtocolDecoder两个接口来提供编码跟解码方法。另外提供ProtocolCodecFactory接口来返回这两个接口的实现类。所以在mina中实现编解码功能,必须实现这3个接口。 虽然真正的编解码算法随应用各部相同,但如何使用这些算法进行数据解析的过程却是相当一致的。所以通过模板设计.........【阅读全文】

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

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

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

阅读(883) | 评论(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收到时.........【阅读全文】

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

登录 注册