zoukankan      html  css  js  c++  java
  • 《深度解析Tomcat》 第一章 一个简单的Web服务器

    本章介绍Java Web服务器是如何运行的。从中可以知道Tomcat是如何工作的。

    基于Java的Web服务器会使用java.net.Socket类和java.net.ServerSocket类这两个类,并通过发送HTTP消息进行通信。

    因此,本章先介绍HTTP协议和这两个类。然后介绍一个简单的Web服务器。

    1.1 HTTP协议

    HTTP请求和相应信息

    略。

    1.2 Socket类

    1.2.1 Socket类

    套接字是网络连接的端点。套接字可以使程序从网络中读取和写入数据。客户端和服务器端通过IP和端口号识别彼此的套接字并连接,然后接收和发送数据。在Java中,套接字由java.net.Socket类实现。

    public Socket(String host, int port);//参数host是远程主机的名称或IP地址,参数port是连接远程应用程序的端口号。
    // 例如,想要通过80端口连接yahoo.com,可以使用以下语句创建Socket对象:
    new Socket("yahoo.com". 80);

    一旦成功创建了Socket类的实例,就可以使用该实例发送或接收字节流。

    1.2.2 ServerSocket类

     Socket类是一个客户端套接字。当想要和服务器的程序连接时创建Socket套接字,因此服务器套接字必须时刻待命,它不知道客户端应用程序会在什么时候发起连接。所以ServerSocket类和Socket类并不相同。ServerSocket类的构造函数需要指明IP地址和服务器套接字侦听的端口号。

    ServerSocket类的其中一个构造函数的签名如下:

    public SeverSocket (int port, int backLog, InetAddress bindingAddress);

    创建了ServerSocket实例后,实例可以一直等待传入的连接请求,通过调用ServerSocket.accept()方法协调N个客户端的套接字的连接请求。当接收到连接请求后,该方法会返回一个Socket实例。可以使用该Socket对象与客户端应用程序进行字节流的发送/接收。

     

    1.3 应用程序

    针对以上知识点,做一个简单的web服务器。遇到的坑都在注释里说明了。GitHub地址:https://github.com/tzzt01/myTomcat.git

  • 相关阅读:
    【Docker】命令 start
    【Docker】命令 create
    【Docker】命令 docker
    【Docker】命令 pull
    【Docker】命令 search
    【Docker】命令 info
    【Docker】命令 version
    Java常用类——Random类
    Java常用类——BigInteger& BigDecimal
    Java常用类——Math类
  • 原文地址:https://www.cnblogs.com/tzzt01/p/11596114.html
Copyright © 2011-2022 走看看