java网络编程
文章平均质量分 79
wyaoyao93
小白
展开
-
简单实现一个http服务
文章目录1 阻塞式2 非阻塞式2.1 核心类介绍1 阻塞式代码结构2. 代码实现package study.wyy.net.http;import lombok.extern.slf4j.Slf4j;import java.io.FileInputStream;import java.io.IOException;import java.net.InetSocketAddress;import java.net.Socket;import java.net.URL;impor原创 2021-06-01 14:50:19 · 280 阅读 · 0 评论 -
10 客户端代码Demo(NIO)
如何用java.nio包中的类来创建客户程序EchoClient,本节提供了两种实现方式:采用阻塞模式,单线程。采用非阻塞模式,单线程。文章目录1 采用阻塞模式,单线程2 采用非阻塞模式,单线程1 采用阻塞模式,单线程这个已经在服务端代码Demo(NIO)中提到了,代码如下:package study.wyy.net.nio.client;import lombok.Builder;import lombok.extern.slf4j.Slf4j;import java.io.*;原创 2021-05-28 09:16:16 · 398 阅读 · 0 评论 -
09 服务端代码Demo(NIO)
文章目录1 阻塞式服务端1.1 服务端1.2 测试2 非阻塞式服务端2.1 处理连接事件2.2 处理读就绪事件使用nio包下的类简单实现一个服务端代码熟悉前面介绍的API采用阻塞式采用非阻塞阻塞和非阻塞混用1 阻塞式服务端1.1 服务端采用阻塞模式,用线程池中的工作线程处理每个客户连接。当ServerSocketChannel与SocketChannel采用默认的阻塞模式时,为了同时处理多个客户的连接,必须使用多个线程。在EchoServer类中,利用java.util.concurr原创 2021-03-18 15:21:06 · 271 阅读 · 1 评论 -
08 非阻塞通信的API基本介绍
1 缓冲区Bufferjava.nio包公开了Buffer API,使得Java程序可以直接控制和运用缓冲区。数据输入和输出往往是比较耗时的操作。缓冲区从两个方面提高I/O操作的效率:减少实际的物理读写次数。缓冲区在创建时被分配内存,这块内存区域一直被重用,这可以减少动态分配和回收内存区域的次数java.nio.Buffer类是一个抽象类,不能被实例化。共有8个具体的缓冲区类:1.1 缓冲区的几个属性容量(capacity):表示该缓冲区可以保存多少数据。极限(limit):表示原创 2021-03-16 14:38:28 · 386 阅读 · 0 评论 -
07 非阻塞通信的基本思想
文章目录1 非阻塞通信的基本思想之前的accept,read的等方法都是阻塞,当没有连接或者没有数据,线程都会被阻塞在当前方法执行处。所以为了上一节为了能够处理同时和多个客户端通信,每个客户端请求来临都是分配了一个线程去处理的jdk1.4以后,java引入了非阻塞的通信机制,服务端程序只需要启动一个线程就能完成和多个客户通信的任务。1 非阻塞通信的基本思想假如同时需要做两件事,烧开水和煮粥。烧开水的步骤如下:放水,打开煤气等待水烧开 // 阻塞关闭煤气,倒入水壶煮粥的步骤一下:放水和原创 2021-03-05 17:36:14 · 300 阅读 · 0 评论 -
06 ServerSocket用法详解(二)创建多线程的服务器
文章目录1 引入1 引入之前的的程序的骨架都是这样的: public static void main(String[] args) throws IOException { ServerSocket serverSocket = null; while (true){ Socket socket = null; try { // 1 创建ServerSocket, 并指定端口号为9999 s原创 2021-03-03 17:35:04 · 431 阅读 · 0 评论 -
05 ServerSocket用法详解(一)
文章目录1 构造ServerSocket3.1 绑定端口在客户端服务端通信模式中,服务器端需要创建监听特定端口的ServerSocket,ServerSocket负责接收客户端的连接请求。1 构造ServerSocketServerSocket的构造方法有以下几种重载形式:ServerSocket的构造方法有以下几种重载形式:ServerSocket()throws IOException /*** port: 服务器要监听的端口号*/ServerSocket(int port) thro原创 2021-02-05 08:37:47 · 1556 阅读 · 0 评论 -
04 SMTP协议和基本指令
文章目录1 SMTP协议和基本指令1 SMTP协议和基本指令SMTP 协议(Simple Mail Transfer Protocol,简单邮件传输协议)是应用层的协议,建立在TCP/IP协议基础之上。SMTP协议规定了把邮件从发送方传输到接收方的规则。SMTP客户程序请求发送邮件,SMTP服务器负责把邮件传输到目的地。默认情况下,SMTP服务器监听25端口。在SMTP客户与SMTP服务器的一次会话过程中,SMTP客户会发送一系列SMTP命令,SMTP服务器则做出响应,返回相应的应答码,以及对应答码的原创 2021-02-04 13:52:01 · 885 阅读 · 0 评论 -
03 Socket类详解
文章目录1 构造Socket1.1 设置超时时间1.2 设置服务器地址1.3 设置客户端地址1.4 使用代理服务器1.5 InetAddress地址类构建InetAddressInetAddress常用方法客户端需要主动创建与服务器的连接的socket,服务器端接收到了客户端的连接请求,也会创建与客户端连接的socket。socke可以看作通信连接两端的的收发器,服务器和客户端的通信就是通过socket传输数据。1 构造SocketSocket的构造方法有以下几种重载形式:Socket() /*原创 2021-02-02 17:49:08 · 1124 阅读 · 0 评论 -
02 java网络编程入门
文章目录1 说明2 服务端程序2 客户端程序1 说明这里所说的java网络程序都是建立在TCP/IP基础,实现的是应用层。传输层向应用层提供了一系列的Socket(套接字)接口,这些接口封装了数据传输的细节,应用层通过Socket来建立与远程主机的连接和数据传输。在Java中,有三种套接字类:java.net.Socketjava.net.ServerSocketjava.net.Server.DatagramSocket。其中Socket和ServerSocket类建立在TCP协议基础上原创 2021-02-02 15:29:14 · 71 阅读 · 0 评论 -
01 计算机网络概念
文章目录1 计算机网络2 OSI参考模型3 TCP/IP 参考模型和TCP/IP协议4 IP4.1 IP地址的组成4.2 发送数据包的过程4.3 端口1 计算机网络所谓计算机网络,是指把分布在不同地理区域的计算机用通信线路互联起来的一个具有强大功能的网络系统。通俗的说,计算机网络就是通过电缆、电话线、或无线通讯设施等互联的计算机的集合。网络中每台机器称为节点(node)。大多数节点是计算机,此外,打印机、路由器、网桥、网关和哑终端等也是节点。人与人之间交流需要通过语言,而计算机之间交流通信的语言,原创 2021-02-02 13:24:05 · 462 阅读 · 0 评论