JavaSE - 练习面试题目 [11] 网络编程基础

1.Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?

答: Server端程序:

public class Server {
    private ServerSocket ss;
    private Socket socket;
    private BufferedReader in;
    private PrintWriter out;

    public Server() {
        try {
            ss = new ServerSocket(10000);
            while (true) {
                socket = ss.accept();
                String RemoteIP = socket.getInetAddress().getHostAddress();
                String RemotePort = ":" + socket.getLocalPort();
                System.out.println("A client come in!IP:" + RemoteIP + RemotePort);
                in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                String line = in.readLine();
                System.out.println("Cleint send is :" + line);
                out = new PrintWriter(socket.getOutputStream(), true);
                out.println("Your Message Received!");
                out.close();
                in.close();
                socket.close();
            }
        } catch (IOException e) {
            out.println("wrong");
        }
    }

    public static void main(String[] args) {
        new Server();
    }
};

Client端程序:

public class Client {
    Socket socket;
    BufferedReader in;
    PrintWriter out;

    public Client() {
        try {
            System.out.println("Try to Connect to 127.0.0.1:10000");
            socket = new Socket("127.0.0.1", 10000);
            System.out.println("The Server Connected!");
            System.out.println("Please enter some Character:");
            BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
            out = new PrintWriter(socket.getOutputStream(), true);
            out.println(line.readLine());
            in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            System.out.println(in.readLine());
            out.close();
            in.close();
            socket.close();
        } catch (IOException e) {
            out.println("Wrong");
        }
    }

    public static void main(String[] args) {
        new Client();
    }
};
2.编写一个服务器和一个客户端

1)服务器可以读取本地文件内容并能将内容发给请求的客户端
2)再编写一个可以发请求到服务器,并能从服务器段获取文件内容的客户端

3.编写一个简单的浏览器

1)将第一题的服务器做调整,如果客户端传输字符串: GET HTTP1.0 /index.jsp, 服务器会将指定目录(路径)下的index.jsp文件传输到客户端
2)客户端可以发请求和把上面的文件保存到本机的制定目录下

4.编写一个服务器和一个客户端

1)服务器上保存了几个用户名和对应的密码;且能验证客户端发送过来的用户名和密码,是否和保存的某个用户名和对应的密码一致.
2)客户端能连接到服务器,并把用户在键盘上输入的用户名和密码,发送到服务器上

5.编写一个ATM服务器和一个客户端,可以通过客户端输入帐号,密码,然后利用服务器端验证,且能实现ATM存钱,取钱和修改密码的功能
6.将上面的题目结合JDBC实现模拟银行的功能。(后面讲jdbc)
7.网络编程
  1. 用网络编程编写一个服务端
  2. 编写一个客户端,客户端向服务端发送一条信息
  3. 服务端在这条信息前面加上“服务端:”后再返给客户端输出。
8.网络聊天功能
  1. 用网络编程编写一个服务端
  2. 用网络编写一个客户端
  3. 客户端输入 client,服务端响应 I'SERVER!
8.实现服务器端和客户端的单线通话
  1. 实例化一个服务器端
  2. 实例化一个客户端
  3. 服务器端和客户端相连接
  4. 一旦服务器端接收到客户端的连接,服务器端就向客户端输出“welcom”
9.TCP/IP通信协议和IO
  1. 实例化一个服务端
  2. 实例化一个客户端,客户端可以向服务端发送一条信息
  3. 用IO向D盘下面创建temp.txt文件
  4. 服务端把接收到客户端的信息写到temp.txt文件中
10.利用UDP编写一个程序,通过这个程序将一个字符串传给另外一台电脑中同样的程序
11.利用UDP编写一个程序,通过这个程序将一个字符串传给其他多台电脑中同样的程序
12.利用UDP编写一个程序,通过这个程序将键盘输入的一句话传给其他多台电脑中同样的程序
13.用UDP实现一对多聊天,即在一台电脑上输入要说的话,可以在其它多台电脑上展示出来
14.利用UDP和TCP实现

a) 服务器利用UDP将自己的IP和端口号发送给客户端
b) 客户端依据服务器段返回的IP和端口号,利用TCP连接到服务器

你可能感兴趣的:(JavaSE - 练习面试题目 [11] 网络编程基础)