基于Jave的Web服务工作机制(3)
ServerSocket 类
Socket 类表示的是客户端的socket。无论什么时候,只要你想连接到一个远程服务器的应用,你都要构建一个socket。如果你想执行一个服务器应用程序,比如HTTP服务或者FTP服务的程序,那么你需要使用不同的途径。因为你的服务器必须一直是开机闲置,所以它不知道什么时候客户机试图来连接它。 这个时候,需要使用java.net.ServerSocket 类。它会实现一个服务器socket。一个服务器socket会等待来自客户端的连接。一旦它接收到一个连接请求,它就会创建一个 Socket 实例来处理和客户端通讯的问题。 要创建一个服务器socket,可以使用四种ServerSocket类构造方法中的一种来实现。你需要制定服务器socket监听的IP地址和端口。 典型的,IP地址如果是127.0.0.1,意味着服务器socket将监听本地机器。这个被监听的IP地址被认为是一种绑定地址。server socket的另一个重要属性是它的 backlog属性,它是在server socket拒绝连接请求前,能够接受的连接请求的最大队列长度。 ServerSocket类的构造函数之一如下: public ServerSocket(int port, int backLog, InetAddress bindingAddress); InetAddress.getByName("127.0.0.1"); new ServerSocket(8080, 1, InetAddress.getByName("127.0.0.1")); Application应用 我们的web服务器应用是ex01.pyrmont包的一部分,包含三个类: HttpServer 这个应用的入口(静态main方法)是HttpServer类。它创建了一个HttpServer 实例来调用它的await方法。 就象这个方法名所暗示的,await 方法在一个指定的端口等待一个HTTP请求,并处理它们,然后发送回应给客户端。它保持等待状态,直到收到一个shutdown命令。 (命令名await来代替wait的原因是wait是System.Object类中的一个用于线程方面的重要方法) 应用仅仅只发送静态资源,比如来自特定目录的HTML和图片文件。不支持动态包头 (比如日期或者cookie) 。 上一篇:基于Jave的Web服务工作机制(2) 下一篇:基于Jave的Web服务工作机制(4) 更多相关文章
|
推荐文章
精彩文章
|