基于Jave的Web服务工作机制(3)

稻草人267

稻草人267

2016-02-19 14:01

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的基于Jave的Web服务工作机制(3),希望大家看完后能赶快学习起来。
ServerSocket 类

 

  Socket 类表示的是客户端的socket。无论什么时候,只要你想连接到一个远程服务器的应用,你都要构建一个socket。如果你想执行一个服务器应用程序,比如HTTP服务或者FTP服务的程序,那么你需要使用不同的途径。因为你的服务器必须一直是开机闲置,所以它不知道什么时候客户机试图来连接它。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  这个时候,需要使用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);
  对于这个构造函数而言,绑定地址必须是java.net.InetAddress 的一个实例。一个简单的办法是通过调用它的静态方法getByName来构造一个InetAddres对象。该方法来一个包含主机名的字符串参数:

  InetAddress.getByName("127.0.0.1");
  下面一行代码构造一个ServerSocket ,它监听本地机器的8080端口,backlog设置为1。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  new ServerSocket(8080, 1, InetAddress.getByName("127.0.0.1"));
  一旦有了一个 ServerSocket 实例,可以通过调用accept方法来告诉它等待进来的连接请求。这个方法只有在有一个连接请求时才返回。它返回的是Socket类的实例。这个Socket对象能够发送和接受来自客户端应用的字节流,就是第一节所讲到的socket类。实际上,accept 是本文提及的唯一一个在应用中使用的方法。

  Application应用

  我们的web服务器应用是ex01.pyrmont包的一部分,包含三个类:

  HttpServer
  Request
  Response

  这个应用的入口(静态main方法)是HttpServer类。它创建了一个HttpServer 实例来调用它的await方法。 就象这个方法名所暗示的,await 方法在一个指定的端口等待一个HTTP请求,并处理它们,然后发送回应给客户端。它保持等待状态,直到收到一个shutdown命令。 (命令名await来代替wait的原因是wait是System.Object类中的一个用于线程方面的重要方法)

  应用仅仅只发送静态资源,比如来自特定目录的HTML和图片文件。不支持动态包头 (比如日期或者cookie) 。

展开更多 50%)
分享

猜你喜欢

基于Jave的Web服务工作机制(3)

Web开发
基于Jave的Web服务工作机制(3)

基于Jave的Web服务工作机制(7)

Web开发
基于Jave的Web服务工作机制(7)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

基于Jave的Web服务工作机制(6)

Web开发
基于Jave的Web服务工作机制(6)

基于Jave的Web服务工作机制(4)

Web开发
基于Jave的Web服务工作机制(4)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

基于Jave的Web服务工作机制(5)

Web开发
基于Jave的Web服务工作机制(5)

基于Jave的Web服务工作机制(1)

Web开发
基于Jave的Web服务工作机制(1)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

不想开学 我还没看到兰陵王的儿子 - QQ搞笑分组

不想开学 我还没看到兰陵王的儿子 - QQ搞笑分组

WIN2000下J2EE的安装及布署

WIN2000下J2EE的安装及布署
下拉加载更多内容 ↓