1,编写一个程序,查找指定域名为www.taobao.com的所有可能的IP地址并在控制台输出。
package com.jiang.demo; import java.net.InetAddress; import java.net.ServerSocket; import java.net.UnknownHostException; public class ServerLogon { public static void main(String[] args) { System.out.println("-------淘宝主服务器地址------"); try { InetAddress add = InetAddress.getByName("www.taobao.com"); System.out.println(add); System.out.println("-------淘宝的所有服务器地址------"); InetAddress sb [] =InetAddress.getAllByName("www.taobao.com"); for (int i = 0; i < sb.length; i++) { System.out.println(sb[i]); } } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
2,模拟用户登录,预设用户数据,提示登录成功或不成功的原因。
服务器
package com.fuwuqi.demo; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class ServerLogon { public static void main(String[] args) { try { ServerSocket serverSocket=new ServerSocket(8800); Socket socket=serverSocket.accept(); InputStream is=socket.getInputStream(); ObjectInputStream ois=new ObjectInputStream(is); try { User user=(User)ois.readObject(); if((user)!=null) { System.out.println("我是服务器,客户登录信息为:"+user.getName()); if(user.getName().equals("用户1")) { System.out.println("存在该用户,登录成功!"); }else { System.out.println("对不起,没有该用户,已通知客户端登录失败!"); } } OutputStream os=socket.getOutputStream(); String str=null; if(user.getName().equals("用户1")) { str="欢迎您,登录成功!"; }else { str="对不起,没有该用户,登录失败!"; } os.write(str.getBytes()); os.close(); ois.close(); is.close(); socket.close(); serverSocket.close(); } catch(ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }客户端
package com.fuwuqi.demo; import java.io.IOException; import java.io.InputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class ServerClient { public static void main(String[] args) { try { Socket socket=new Socket("localhost",8800); OutputStream os=socket.getOutputStream(); ObjectOutputStream oos=new ObjectOutputStream(os); Scanner in=new Scanner(System.in); System.out.print("请输入用户名:"); String name=in.next(); User user=new User(name); oos.writeObject(user); socket.shutdownOutput(); InputStream is=socket.getInputStream(); byte[]bs=new byte[1024]; int len=is.read(bs); System.out.println(new String(bs,0,len)); is.close(); oos.close(); os.close(); socket.close(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }用户
package com.fuwuqi.demo; import java.io.Serializable; public class User implements Serializable{ private String name; public String getName() { return name; } public User(String name) { this.name = name; } }