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

2016-02-19 14:01 2 1 收藏

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

【 tulaoshi.com - Web开发 】

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类的构造函数之一如下:

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

  public ServerSocket(int port, int backLog, InetAddress bindingAddress);
  对于这个构造函数而言,绑定地址必须是java.net.InetAddress 的一个实例。一个简单的办法是通过调用它的静态方法getByName来构造一个InetAddres对象。该方法来一个包含主机名的字符串参数:

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

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

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

  Application应用

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

  HttpServer
  Request
  Response

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

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

来源:https://www.tulaoshi.com/n/20160219/1605965.html

延伸阅读
标签: Web开发
         在Web服务的世界里,应用程序基本上由远程的、XML驱动的组件构成,这些组件采用不同的语言编写,再采用标准的远程激活协议通过Web连接。服务提供者定义所提供服务需要用到的数据格式。同样的,当你在以上应用模式下接受Web服务时,你也需要采取措施保证你的客户程序采用了服务器期望的数据格...
标签: ASP
  发送信息页面send.asp--基于web的QQ程序3(only asp) <html <head <title发送信息页面</title <meta http-equiv="Content-Type" content="text/html; charset=gb2312" </head <%if request("text")="" then% <body bgcolor="#FFFFFF" text="#000000&quo...
       基于Linux的目录服务实现   · 魏星 王舒晟·CPCW      摘要:       本文的目的是通过使用Linux系统支持的应用软件包(openldap),快速实现基于LDAP协议的目录服务系统来支持Windows消息簿中的用户查询功能。作者从用户的观点介绍了目录服...
标签: Web开发
引言 大家都知道可以通过post或者get获得form表单的数据,那么我们如何实现不刷新的提交直接获得页面上的数据呢?这就要借助xmlhttp协议了。xmlhttp是xmldom技术的一部分。   下面的代码就是一个很简单的例子,我们利用xmlhttp技术实现简单的用户登陆。 开始 1.简单的登录页面 login.jsp ...
MVC介绍 MVC模式是一种非常理想化的设计模式,应用MVC模式完成两个以上项目的人都有同样的体会,他们已经对以前的工作方法进行了彻底的改造。工作模式的改变要付出痛苦的代价,但现在你有现成的技术架构可以采用,避免在项目中自己开发、摸索。它就是开源Apache Struts framework,它提供了实现MVC设计模式最好的实现工具。 ...

经验教程

426

收藏

93
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部