Java基础面试题:Socket


1. 使用Socket读取服务器字符并本地显示

Server 端程序

package test;
import java.net.*;
import java.io.*;

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 端程序

package test;
import java.io.*;
import java.net.*;

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

results matching ""

    No results matching ""