![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 76
一只懒惰的小虫子
这个作者很懒,什么都没留下…
展开
-
网络编程之Netty
原文链接概述Netty 是一个高性能、异步事件驱动的 NIO 框架优点1、高性能、高吞吐量、低延迟2、使用方便,详细的Javadoc,用户指南和示例3、社区活跃,版本迭代周期短4、设计优雅,适用于各种传输类型的统一API阻塞和非阻塞Socket;基于灵活且可扩展的事件模型线程模型介绍目前的线程模型有:传统阻塞I/O服务模型、Reactor模型;根据Reactor数量和处理资源线程的的数量不同,有3种形式:1、单Reactor2、单Reactor多线程3、主从Reactor多线程原创 2022-05-23 11:21:13 · 981 阅读 · 0 评论 -
网络编程之NIO
原文链接基本介绍1、NIO(non-blocking IO)是JDK提供的新API,从JDK1.4开始,Java提供了一系列改进的输入/输出新特性,被统称为NIO(即 New IO), 是同步非阻塞的2、NIO 有三大核心部分:Channel(通道)、Buffer(缓冲区)、Selector(选择器)3、 NIO 是面向缓冲区,或者面向块编程的。数据读取到一个它稍后处理的缓冲区,需要时可在缓冲区中前后移动,这就增加了处理过程中的灵活性,使用它可以提供非阻塞式的高伸缩性网络4、NIO的非阻塞模式,原创 2022-05-09 16:57:47 · 488 阅读 · 0 评论 -
网络编程之BIO
原文连接介绍BIO(blocking I/O)就是传统的 java io 编程,BIO是同步阻塞模型,服务器端实现模式为一个连接只有一个线程处理,如果这个连接不做任何事情,会造成不必要的线程开销,可以通过线程池机制改善(实现多个客户连接服务器)。BIO模型适用于连接数较小且固定的架构,这种方式对服务器资源要求比较高,JDK1.4以前的唯一选择,优点是程序简单易理解。工作原理1、服务端启动一个ServerSocket2、客户端启动Socket对服务器进行通讯,默认情况下服务器端需要对每个客户原创 2022-05-06 11:02:23 · 331 阅读 · 0 评论 -
网络编程之UDP
介绍TCP是一种面向连接的传输层协议,而UDP是传输层中面向无连接的协议,故传送的数据包不能保证有序和不丢失,实现UDP通信主要用到了两个类:DatagramPacket和DatagramSocket原理UDP没有明确的服务端和发送端,只有一个发送端和接收端,接收数据和发送数据是通过DatagramSocket对象完成,发送数据时需要将数据封装到DatagramPacket,即装包过程;接收数据时,对DatagramPacket对象进行拆包示例发送端向接收端发送消息,接收端收到消息回复消息接原创 2022-02-17 16:08:08 · 1544 阅读 · 1 评论 -
网络编程之socket
简介socket编程也叫套接字编程,应用程序可以通过它发送或者接受数据。网络通信其实就是socket通信,通信的两端都要有socket,一般发起通信的一端叫客户端,等待通信的一端属于服务端。原理1、服务端新建一个socket,绑定地址和开启端口的监听,此时服务端进入阻塞状态,等待客户端的连接2、客户端新建一个socket,实例化socket时关联服务端的ip,端口,连接服务端3、服务端和客户端建立连接后就可以收/发数据4、关闭连接案例1客户端给服务端发送消息服务端package c原创 2022-02-16 15:10:57 · 1809 阅读 · 0 评论