Java学习, Socket连接指定主机 客服务端

Java中Socket是网络通信的一个重要概念,它提供了在不同计算机或设备之间,进行数据交换的方式。Java 中,Socket 编程主要涉及两个类:Socket 和 ServerSocket

  • Socket:用于客户端,连接到服务器的一个特定端口,通过这个连接发送和接收数据。
  • ServerSocket:用于服务器端,监听特定端口,等待客户端连接请求,每个连接创建一个新的Socket

Socket 编程步骤:

  1. 创建 Socket:客户端通过指定服务器IP地址和端口号,创建Socket实例。
  2. 连接到服务器:客户端Socket连接到服务器上指定端口。
  3. 数据传输:连接成功,客户端和服务器通过输入/输出流(InputStream 和 OutputStream)进行数据传输。
  4. 关闭连接:数据传输完成后,关闭 Socket连接释放资源。

服务端: 
public class SimpleServer {
    public static void main(String[] args) {
        int port = 12345; // 服务器监听端口号
        try (ServerSocket serverSocket = new ServerSocket(port)) {
            System.out.println("服务器已启动,等待客户端连接...");
 
            // 接受客户端连接
            Socket clientSocket = serverSocket.accept();
            System.out.println("客户端已连接");
 
            // 获取输入和输出流
            InputStream input = clientSocket.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(input));
            OutputStream output = clientSocket.getOutputStream();
            PrintWriter writer = new PrintWriter(output, true);
 
            // 读取客户端数据
            String message = reader.readLine();
            System.out.println("收到客户端消息: " + message);
 
            // 发送响应给客户端
            writer.println("服务器已收到你的消息: " + message);
 
            // 关闭连接
            clientSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值