简单Java Socket编程

本文介绍了如何在Java中通过ServerSocket和Socket实现客户端与服务器之间的简单字符通信,包括创建ServerSocket监听、接受连接、数据读写及流的关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从客户端录入几个字符,发送到服务器端,服务器端将接收到的字符进行输出

  1. 声明ServerSocket对象
  2. 声明Socket对象
  3. 声明输入流对象BufferedReader
  4. 声明输出流对象
  5. 创建一个ServerSocket,指定等待端口
  6. 使用ServerSocket接收用户请求(处于监听状态)
  7. 获得客户端的socket对象
  8. 创建输入流并读取信息
  9. 创建输出流并输出信息
  10. 关闭流和socket
  11. 创建ServerSocket对象
  12. 创建对象

服务端

public class Server {
    ServerSocket ss;
    Socket s;
    BufferedReader br;
    PrintWriter pw;
    public Server(){
        try {
            ss = new ServerSocket(6666);
            while (true){
                s = ss.accept();
                br = new BufferedReader(new InputStreamReader(s.getInputStream()));
                System.out.println("Client:"+br.readLine());
                pw = new PrintWriter(s.getOutputStream(),true);
                pw.print("--发送成功--");
                pw.close();
                br.close();
                s.close();
            }
        }catch (IOException e){
            System.out.println("有错误");
        }
    }
    public static void main(String[] args) {
        new Server();
    }
}

客户端

public class Client {         
  Socket s;
  BufferedReader br;
  PrintWriter pw ;
  public Client() {
      try {
          s = new Socket("127.0.0.1", 6666);
          BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
          pw = new PrintWriter(s.getOutputStream(),true);
          pw.println(line.readLine());
          br = new BufferedReader(new InputStreamReader(s.getInputStream()));
          System.out.println(br.readLine());
          pw.close();
          br.close();
      } catch (IOException e) {
          e.printStackTrace();
      }
  }
    public static void main(String[] args) {
        new Client();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

之墨_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值