Java技能树-网络编程-TCP-ServerSocket/Socket

1 需求


2 接口

涉及的类

  • ServerSocket
  • Socket
  • InputStream
  • OutputStream
  • DataInputStream
  • DataOutputStream

Class ServerSocket


java.lang.Object 
        java.net.ServerSocket


public class ServerSocket extends Object implements Closeable

Constructor Detail

Method Detail

Class Socket


java.lang.Object 
        java.net.Socket 

public class Socket extends Object implements Closeable

Constructor Detail

Method Detail


3 示例

服务端

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo {

    public static void main(String[] args) {
        ServerSocket serverSocket = null;
        Socket socket = null;
        InputStream inputStream = null;
        OutputStream outputStream = null;
        DataInputStream dataInputStream = null;
        DataOutputStream dataOutputStream = null;

        String response = "server";

        try {
            serverSocket = new ServerSocket(8088);
            System.out.println("--- This is a server ---");
            while (true) {
                socket = serverSocket.accept();

                // 接收消息
                inputStream = socket.getInputStream();
                dataInputStream = new DataInputStream(inputStream);
                String request = dataInputStream.readUTF();
                System.out.println("Client is sent a message: " + request);

                // 响应消息
                outputStream = socket.getOutputStream();
                dataOutputStream = new DataOutputStream(outputStream);
                dataOutputStream.writeUTF(response);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
}

客户端

import java.io.*;
import java.net.Socket;

public class ClientDemo {
    public static void main(String[] args) {
        Socket socket = null;
        InputStream inputStream = null;
        OutputStream outputStream = null;
        DataInputStream dataInputStream = null;
        DataOutputStream dataOutputStream = null;

        String request = "client";

        try {
            socket = new Socket("127.0.0.1", 8088);
            System.out.println("--- This is a client ---");

            // 客户端 给 服务器 发送消息
            outputStream = socket.getOutputStream();
            dataOutputStream = new DataOutputStream(outputStream);
            dataOutputStream.writeUTF(request);

            // 客户端 从 服务器 接收消息
            inputStream = socket.getInputStream();
            dataInputStream = new DataInputStream(inputStream);
            String response = dataInputStream.readUTF();
            System.out.println(response);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

4 参考资料

Java实现TCP编程_以月光下洒的博客-CSDN博客_java tcp

你可能感兴趣的:(Java-入门教程,java,tcp/ip)