java URL InetAdress以及套接字初识

URL类:

一个URL对象包含 协议.地址.资源三部分信息

构造方法:

public URL(String s) s为IP地址或者域名

连接:使用openConnection来实现连接,在读取资源和内容之前

读取资源:

使用setDoOutput(boolean)来制定可以进行写操作。

 

有关方法:

调用InputStream openStream()

方法可以返回一个输入流,该输入流指向URL对象所包含的资源

具体实现:

1.URL url = new URL(“http://www.baidu.com”);

InputStream is = url.getopenStream();

2.URL url = new URL(“http://www.baidu.com”);

URLConnection urlcon = url.openConnection;

InputStream is = urlcon.getInputStream;

3.URL url = new URL(“http://www.baidu.com”);

HttpURLConnection urlcon =(HttpURLCOnnection)url.openConnection();

InputStream is = urlcon.getInputStream();

实例:

import java.net.*;
import java.util.*;
import java.io.*;
class Look implements Runnable{
	URL url;
	public void setURL(URL url){
		this.url=url;
	}
	public void run() {
		try {
			InputStream in = url.openStream();
			byte [] b = new byte[1024];
			int n = -1;
			while((n=in.read(b))!=-1) {
				String str = new String(b,0,n);
				System.out.println(str);
			}
		}catch(IOException exp) {}
	}
}
public class IO {
   public static void main(String[] args) {
	   Scanner sc = new Scanner(System.in);
	   URL url;
	   Thread read;
	   Look look = new Look();
	   String str = new String();
	   str = sc.nextLine();
	   try {
		   url =  new URL(str);
		   look.setURL(url);
		   read = new Thread(look);
	   }catch(Exception e) {
		   System.out.println(e);
	   }
	   read = new Thread(look);
	   read.start();
   }

}

InetAdress类

获取internet主机的地址:

使用静态方法getByName(String s);

 

获取InetAddress对象的域名

public String getHostName()

 

获取InetAddress对象的IP

public String getHostAddress()

 

套接字:

套接字为端口号和ip地址组合得出,为实现两程序之间的通信

 

Socket类建立负责链接到服务器的套接字对象

构造方法:

Socket(String host,int port);分别为服务器IP地址和端口号

 

客户端和服务端都需要建立套接字,客户端使用Socket,而服务端则使用ServerSocket建立。而且两者使用端口应该相同。

注意:

在建立套接字时间可能出现IO异常,因此应该排除异常

实例:

try{

Socket mysocket ;

mysocket = new socket(“http://www.baidu.com”,20);

}catch(IOException e){}

 

服务端调用accept()方法来返回一个与客户端相连的Socket对象.

该对象使用getOutStream()获得输出流,将指向客户端的Socket的对象调用个体InputStream()获得输入流,两者刚好相反


版权声明:本文为qq_39259536原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。