Java网络基础(二)
InetAddressTestimport 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 的连接并返回一个用于从该连接读入的 InputStreamInputStream 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;}@Overridepublic 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;}@Overridepublic 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;}@Overridepublic 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;}@Overridepublic 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();}}}
页:
[1]