国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務(wù)器 > Win服務(wù)器 > 正文

基于Jave的Web服務(wù)工作機(jī)制(3)

2024-09-10 00:03:00
字體:
供稿:網(wǎng)友
 ServerSocket 類

  Socket 類表示的是客戶端的socket。無論什么時候,只要你想連接到一個遠(yuǎn)程服務(wù)器的應(yīng)用,你都要構(gòu)建一個socket。如果你想執(zhí)行一個服務(wù)器應(yīng)用程序,比如HTTP服務(wù)或者FTP服務(wù)的程序,那么你需要使用不同的途徑。因為你的服務(wù)器必須一直是開機(jī)閑置,所以它不知道什么時候客戶機(jī)試圖來連接它。

  這個時候,需要使用java.net.ServerSocket 類。它會實現(xiàn)一個服務(wù)器socket。一個服務(wù)器socket會等待來自客戶端的連接。一旦它接收到一個連接請求,它就會創(chuàng)建一個 Socket 實例來處理和客戶端通訊的問題。

  要創(chuàng)建一個服務(wù)器socket,可以使用四種ServerSocket類構(gòu)造方法中的一種來實現(xiàn)。你需要制定服務(wù)器socket監(jiān)聽的IP地址和端口。 典型的,IP地址如果是127.0.0.1,意味著服務(wù)器socket將監(jiān)聽本地機(jī)器。這個被監(jiān)聽的IP地址被認(rèn)為是一種綁定地址。server socket的另一個重要屬性是它的 backlog屬性,它是在server socket拒絕連接請求前,能夠接受的連接請求的最大隊列長度。

  ServerSocket類的構(gòu)造函數(shù)之一如下:

  public ServerSocket(int port, int backLog, InetAddress bindingAddress);
  對于這個構(gòu)造函數(shù)而言,綁定地址必須是java.net.InetAddress 的一個實例。一個簡單的辦法是通過調(diào)用它的靜態(tài)方法getByName來構(gòu)造一個InetAddres對象。該方法來一個包含主機(jī)名的字符串參數(shù):

  InetAddress.getByName("127.0.0.1");
  下面一行代碼構(gòu)造一個ServerSocket ,它監(jiān)聽本地機(jī)器的8080端口,backlog設(shè)置為1。

  new ServerSocket(8080, 1, InetAddress.getByName("127.0.0.1"));
  一旦有了一個 ServerSocket 實例,可以通過調(diào)用accept方法來告訴它等待進(jìn)來的連接請求。這個方法只有在有一個連接請求時才返回。它返回的是Socket類的實例。這個Socket對象能夠發(fā)送和接受來自客戶端應(yīng)用的字節(jié)流,就是第一節(jié)所講到的socket類。實際上,accept 是本文提及的唯一一個在應(yīng)用中使用的方法。

  Application應(yīng)用

  我們的Web服務(wù)器應(yīng)用是ex01.pyrmont包的一部分,包含三個類:

  HttpServer
  Request
  Response

  這個應(yīng)用的入口(靜態(tài)main方法)是HttpServer類。它創(chuàng)建了一個HttpServer 實例來調(diào)用它的await方法。 就象這個方法名所暗示的,await 方法在一個指定的端口等待一個HTTP請求,并處理它們,然后發(fā)送回應(yīng)給客戶端。它保持等待狀態(tài),直到收到一個shutdown命令。 (命令名await來代替wait的原因是wait是System.Object類中的一個用于線程方面的重要方法)

  應(yīng)用僅僅只發(fā)送靜態(tài)資源,比如來自特定目錄的HTML和圖片文件。不支持動態(tài)包頭 (比如日期或者cookie) 。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 手游| 叙永县| 梓潼县| 汕尾市| 嵩明县| 隆化县| 海丰县| 长白| 鸡西市| 镇雄县| 扶余县| 中宁县| 东兰县| 呼和浩特市| 蒙阴县| 柳江县| 阿克苏市| 古交市| 南丹县| 宁夏| 广德县| 定州市| 汤阴县| 略阳县| 黑山县| 承德市| 土默特左旗| 马鞍山市| 肥城市| 启东市| 舟山市| 邵武市| 瑞安市| 偏关县| 绩溪县| 武胜县| 同心县| 石泉县| 玛多县| 临西县| 武乡县|