【840、网络有没有写过socket编程?】

23 阅读1分钟

以下是一个使用Java编写的Socket编程示例,演示了如何在客户端和服务器之间建立Socket连接并进行基本的通信。

首先,创建一个服务器端的代码,用于接受客户端连接并接收消息:

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

public class ServerExample {

    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(12345);
        System.out.println("等待客户端连接...");
        
        Socket clientSocket = serverSocket.accept();
        System.out.println("客户端已连接:" + clientSocket.getInetAddress().getHostAddress());

        InputStream inputStream = clientSocket.getInputStream();
        byte[] buffer = new byte[1024];
        int bytesRead;
        
        while ((bytesRead = inputStream.read(buffer)) != -1) {
            String message = new String(buffer, 0, bytesRead);
            System.out.println("接收到消息:" + message);
        }

        inputStream.close();
        clientSocket.close();
        serverSocket.close();
    }
}

然后,创建一个客户端的代码,用于连接到服务器并发送消息:

import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;

public class ClientExample {

    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("localhost", 12345);
        
        String message = "Hello, server!";
        byte[] bytes = message.getBytes();
        
        OutputStream outputStream = socket.getOutputStream();
        outputStream.write(bytes);

        outputStream.close();
        socket.close();
    }
}

在这个示例中,服务器监听在端口12345上,客户端连接到服务器并发送消息。