第五章 网络编程

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;
	}
	
	

}

猜你喜欢

转载自blog.csdn.net/jiangmye/article/details/80468939