
网络编程
文章平均质量分 76
一只懒惰的小虫子
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络编程之Netty
原文链接 概述 Netty 是一个高性能、异步事件驱动的 NIO 框架 优点 1、高性能、高吞吐量、低延迟 2、使用方便,详细的Javadoc,用户指南和示例 3、社区活跃,版本迭代周期短 4、设计优雅,适用于各种传输类型的统一API阻塞和非阻塞Socket;基于灵活且可扩展的事件模型 线程模型介绍 目前的线程模型有:传统阻塞I/O服务模型、Reactor模型; 根据Reactor数量和处理资源线程的的数量不同,有3种形式: 1、单Reactor 2、单Reactor多线程 3、主从Reactor多线程原创 2022-05-23 11:21:13 · 1116 阅读 · 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 · 585 阅读 · 0 评论 -
网络编程之BIO
原文连接 介绍 BIO(blocking I/O)就是传统的 java io 编程,BIO是同步阻塞模型,服务器端实现模式为一个连接只有一个线程处理,如果这个连接不做任何事情,会造成不必要的线程开销,可以通过线程池机制改善(实现多个客户连接服务器)。 BIO模型适用于连接数较小且固定的架构,这种方式对服务器资源要求比较高,JDK1.4以前的唯一选择,优点是程序简单易理解。 工作原理 1、服务端启动一个ServerSocket 2、客户端启动Socket对服务器进行通讯,默认情况下服务器端需要对每个客户原创 2022-05-06 11:02:23 · 419 阅读 · 0 评论 -
网络编程之UDP
介绍 TCP是一种面向连接的传输层协议,而UDP是传输层中面向无连接的协议,故传送的数据包不能保证有序和不丢失,实现UDP通信主要用到了两个类:DatagramPacket和DatagramSocket 原理 UDP没有明确的服务端和发送端,只有一个发送端和接收端,接收数据和发送数据是通过DatagramSocket对象完成,发送数据时需要将数据封装到DatagramPacket,即装包过程;接收数据时,对DatagramPacket对象进行拆包 示例 发送端向接收端发送消息,接收端收到消息回复消息 接原创 2022-02-17 16:08:08 · 1622 阅读 · 1 评论 -
网络编程之socket
简介 socket编程也叫套接字编程,应用程序可以通过它发送或者接受数据。网络通信其实就是socket通信,通信的两端都要有socket,一般发起通信的一端叫客户端,等待通信的一端属于服务端。 原理 1、服务端新建一个socket,绑定地址和开启端口的监听,此时服务端进入阻塞状态,等待客户端的连接 2、客户端新建一个socket,实例化socket时关联服务端的ip,端口,连接服务端 3、服务端和客户端建立连接后就可以收/发数据 4、关闭连接 案例1 客户端给服务端发送消息 服务端 package c原创 2022-02-16 15:10:57 · 1907 阅读 · 0 评论