InetAddressTest
import java.net.InetAddress; import java.net.UnknownHostException; public class InetAddressTest { public static void main(String args[]) { try { // getLocalHost() 返回本地主机 InetAddress ia = InetAddress.getLocalHost(); showInfo(ia); // getByName(String host) 在给定主机名的情况下确定主机的 IP 地址 ia = InetAddress.getByName("www.baidu.com"); showInfo(ia); } catch (UnknownHostException e) { e.printStackTrace(); } } public static void showInfo(InetAddress ia) { // getHostName() 获取此 IP 地址的主机名 String name = ia.getHostName(); // getHostAddress() 返回 IP 地址字符串(以文本表现形式) String address = ia.getHostAddress(); System.out.println(name); System.out.println(address); } }
URLReader
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.util.Scanner; public class URLReader { public static void main(String args[]) { try { // 设置http访问要使用的代理服务器的地址 // System.setProperty("http.proxyHost", "192.168.0.251"); // 设置http访问要使用的代理服务器的端口 // System.setProperty("http.proxyPort", "8080"); URL url = new URL("http://www.baidu.com/"); // openStream() // 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream InputStream inStream = url.openStream(); BufferedReader br = new BufferedReader(new InputStreamReader( inStream)); String str = null; while ((str = br.readLine()) != null) { System.out.println(str); } br.close(); Scanner scan = new Scanner(url.openStream()); while (scan.hasNext()) { System.out.println(scan.next()); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
ServerTest
import java.io.DataOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class ServerTest { public static void main(String args[]) { try { ServerSocket ss = new ServerSocket(6666); while (true) { Socket sk = ss.accept(); OutputStream outStream = sk.getOutputStream(); DataOutputStream dos = new DataOutputStream(outStream); dos.writeUTF("Ip地址" + sk.getInetAddress() + "\n端口号" + sk.getPort()); dos.close(); sk.close(); } } catch (IOException e) { e.printStackTrace(); } } }
ClientTest
import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; import java.net.Socket; import java.net.UnknownHostException; public class ClientTest { public static void main(String args[]) { try { Socket sk = new Socket("127.0.0.1", 6666); InputStream inStream = sk.getInputStream(); DataInputStream dis = new DataInputStream(inStream); System.out.println(dis.readUTF()); dis.close(); sk.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
ServerTest
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class ServerTest { public static void main(String args[]) { try { ServerSocket ss = new ServerSocket(6666); Socket sk = ss.accept(); InputStream inStream = sk.getInputStream(); OutputStream outStream = sk.getOutputStream(); DataInputStream dis = new DataInputStream(inStream); DataOutputStream dos = new DataOutputStream(outStream); InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String info = null; while (true) { info = dis.readUTF(); System.out.println("Client:" + info); if (info.equals("bye")) break; info = br.readLine(); dos.writeUTF(info); if (info.equals("bye")) break; } dis.close(); dos.close(); br.close(); sk.close(); } catch (Exception e) { e.printStackTrace(); } } }
ClientTest
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; public class ClientTest { public static void main(String args[]) { try { Socket sk = new Socket("127.0.0.1", 6666); InputStream inStream = sk.getInputStream(); OutputStream outStream = sk.getOutputStream(); DataInputStream dis = new DataInputStream(inStream); DataOutputStream dos = new DataOutputStream(outStream); InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String info = null; while (true) { info = br.readLine(); dos.writeUTF(info); if (info.equals("bye")) break; info = dis.readUTF(); System.out.println("Server:" + info); if (info.equals("bye")) break; } dis.close(); dos.close(); br.close(); sk.close(); } catch (Exception e) { e.printStackTrace(); } } }
ServerTest
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; public class ServerTest { public static void main(String args[]) { try { ServerSocket ss = new ServerSocket(6666); Socket sk = ss.accept(); OutputStream outStream = sk.getOutputStream(); DataOutputStream dos = new DataOutputStream(outStream); InputStream inStream = sk.getInputStream(); DataInputStream dis = new DataInputStream(inStream); new MyServerWriter(dos, InetAddress.getLocalHost().getHostName()) .start(); new MyServerReader(dis).start(); } catch (Exception e) { e.printStackTrace(); } } } class MyServerWriter extends Thread { private DataOutputStream dos; private String name; public MyServerWriter(DataOutputStream dos, String name) { this.dos = dos; this.name = name; } @Override public void run() { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String info = null; try { while (true) { info = br.readLine(); dos.writeUTF(name + "说:" + info); if (info.equals("bye")) { System.out.println(name + "下线了"); break; } } } catch (Exception e) { e.printStackTrace(); } } } class MyServerReader extends Thread { private DataInputStream dis; public MyServerReader(DataInputStream dis) { this.dis = dis; } @Override public void run() { String info = null; try { while (true) { info = dis.readUTF(); System.out.println(info); if (info.equals("bye")) { System.out.println("对方下线,自动关闭!"); break; } } } catch (Exception e) { e.printStackTrace(); } } }
ClientTest
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; public class ClientTest { public static void main(String args[]) { try { Socket sk = new Socket("127.0.0.1", 6666); OutputStream outStream = sk.getOutputStream(); DataOutputStream dos = new DataOutputStream(outStream); InputStream inStream = sk.getInputStream(); DataInputStream dis = new DataInputStream(inStream); new MyClientWriter(dos, InetAddress.getLocalHost().getHostName()) .start(); new MyClientReader(dis).start(); } catch (Exception e) { e.printStackTrace(); } } } class MyClientWriter extends Thread { private DataOutputStream dos; private String name; public MyClientWriter(DataOutputStream dos, String name) { this.dos = dos; this.name = name; } @Override public void run() { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String info = null; try { while (true) { info = br.readLine(); dos.writeUTF(name + "说:" + info); if (info.equals("bye")) { System.out.println(name + "下线了"); break; } } } catch (Exception e) { e.printStackTrace(); } } } class MyClientReader extends Thread { private DataInputStream dis; public MyClientReader(DataInputStream dis) { this.dis = dis; } @Override public void run() { String info = null; try { while (true) { info = dis.readUTF(); System.out.println(info); if (info.equals("bye")) { System.out.println("对方下线,自动关闭!"); break; } } } catch (Exception e) { e.printStackTrace(); } } }