Java Socket编程(二)-2

导读:
  在Java中面向连接的类有两种形式,它们分别是客户端和服务器端.客户端这一部分是最简单的,所以我们先讨论它.
  列表9.1列出了一个简单的客户端的程序.它向一个服务器发出一个请求,取回一个HTML文档,并把它显示在控制台上.
  9.1一个简单的socket客户端
  import java.io.*;
  import java.net.*;
  /**
  * 一个简单的从服务器取回一个HTML页面的程序
  * 注意:merlin是本地机器的名字
  */
  public class SimpleWebClient {
  public static void main(String args[])
  {
  try
  {
  // 打开一个客户端socket连接
  Socket clientSocket1 = new Socket("merlin", 80);
  System.out.println("Client1: " + clientSocket1);
  // 取得一个网页
  getPage(clientSocket1);
  }
  catch (UnknownHostException uhe)
  {
  System.out.println("UnknownHostException: " + uhe);
  }
  catch (IOException ioe)
  {
  System.err.println("IOException: " + ioe);
  }
  }
  /**
  *通过建立的连接请求一个页面,显示回应然后关闭socket
  */
  public static void getPage(Socket clientSocket)
  {
  try
  {
  // 需要输入和输出流
  DataOutputStream outbound = new DataOutputStream(
  clientSocket.getOutputStream() );
  DataInputStream inbound = new DataInputStream(
  clientSocket.getInputStream() );
  // 向服务器发出HTTP请求
  outbound.writeBytes("GET / HTTP/1.0 ");
  // 读出回应
  String responseLine;
  while ((responseLine = inbound.readLine()) != null)
  {
  // 把每一行显示出来
  System.out.println(responseLine);
  if ( responseLine.indexOf("") != -1 )
  break;
  }
  // 清除
  outbound.close();
  inbound.close();
  clientSocket.close();
  }
  catch (IOException ioe)
  {
  System.out.println("IOException: " + ioe);
  }
  }
  }
  Java Socket编程(一)
  Java Socket编程(二)1
  Java Socket编程(二)2
  Java Socket编程(二)3
  Java Socket编程(三)1
  Java Socket编程(三)2
  Java Socket编程(四)1
  Java Socket编程(四)2
  Java Socket编程(五)
  在Java中面向连接的类有两种形式,它们分别是客户端和服务器端.客户端这一部分是最简单的,所以我们先讨论它. 列表9.1列出了一个简单的客户端的程序.它向一个服务器发出一个请求,取回一个HTML文档,并把它显示在控制台上. 9.1一个简单的socket客户端 import java.io.*; import java.net.*; /** * 一个简单的从服务器取回一个HTML页面的程序 * 注意:merlin是本地机器的名字 */ public class SimpleWebClient { public static void main(String args[]) { try { // 打开一个客户端socket连接 Socket clientSocket1 = new Socket("merlin", 80); System.out.println("Client1: " + clientSocket1); // 取得一个网页 getPage(clientSocket1); } catch (UnknownHostException uhe) { System.out.println("UnknownHostException: " + uhe); } catch (IOException ioe) { System.err.println("IOException: " + ioe); } } /** *通过建立的连接请求一个页面,显示回应然后关闭socket */ public static void getPage(Socket clientSocket) { try { // 需要输入和输出流 DataOutputStream outbound = new DataOutputStream( clientSocket.getOutputStream() ); DataInputStream inbound = new DataInputStream( clientSocket.getInputStream() ); // 向服务器发出HTTP请求 outbound.writeBytes("GET / HTTP/1.0 "); // 读出回应 String responseLine; while ((responseLine = inbound.readLine()) != null) { // 把每一行显示出来 System.out.println(responseLine); if ( responseLine.indexOf("") != -1 ) break; } // 清除 outbound.close(); inbound.close(); clientSocket.close(); } catch (IOException ioe) { System.out.println("IOException: " + ioe); } } }Java Socket编程(一)Java Socket编程(二)1Java Socket编程(二)2Java Socket编程(二)3Java Socket编程(三)1Java Socket编程(三)2Java Socket编程(四)1Java Socket编程(四)2Java Socket编程(五)

本文转自
http://www.cn-java.com/www1/?action-viewnews-itemid-676
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值