编写一个简单的TCP通信程序。服务器发送“你好我是服务器”,客户端接收该信息并显示在屏幕上。用Java写

谢谢大家了哦!
2024-11-30 20:24:23
推荐回答(1个)
回答1:

1、服务器端

import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class SocketServer {

    private static final int PORT = 8088;

    public static void main(String[] args) {
        ServerSocket server = null;
        try {
            server = new ServerSocket(PORT);
            while (true) {
                Socket client = server.accept();
                new Thread(new Server(client)).start();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

class Server implements Runnable {

    private Socket client;

    public Server(Socket client) {
        this.client = client;
    }

    public void run() {
        DataOutputStream output = null;
        try {
            output = new DataOutputStream(client.getOutputStream());
            output.writeUTF("你好我是服务器");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (output != null) output.close();
                output = null;
            } catch (IOException e) {}
        }
    }

}

2、客户端

import java.io.DataInputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client extends Socket {

    private static final int PORT = 8088;

    public static void main(String[] args) {
        Socket socket = null;
        try {
            socket = new Socket("127.0.0.1", PORT);
            DataInputStream in = new DataInputStream(socket.getInputStream());
            String res = in.readUTF();
            System.out.println(res);
            if (in != null) in.close();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (socket != null) {
                try {
                    socket.close();
                } catch (IOException e) {}
            }
        }
    }
}