zoukankan      html  css  js  c++  java
  • Java基础知识强化之网络编程笔记08:TCP之客户端键盘录入服务器控制台输出

    1. 客户端

     1 package cn.itcast_08;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.BufferedWriter;
     5 import java.io.IOException;
     6 import java.io.InputStreamReader;
     7 import java.io.OutputStreamWriter;
     8 import java.net.Socket;
     9 
    10 /*
    11  * 客户端键盘录入,服务器输出到控制台
    12  */
    13 public class ClientDemo {
    14     public static void main(String[] args) throws IOException {
    15         // 创建客户端Socket对象
    16         Socket s = new Socket("192.168.12.92", 22222);
    17 
    18         // 键盘录入数据
    19         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    20         // 把通道内的流给包装一下
    21         BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
    22                 s.getOutputStream()));
    23 
    24         String line = null;
    25         while ((line = br.readLine()) != null) {
    26             // 键盘录入数据要自定义结束标记
    27             if ("886".equals(line)) {
    28                 break;
    29             }
    30             bw.write(line);
    31             bw.newLine();
    32             bw.flush();
    33         }
    34 
    35         // 释放资源
    36         // bw.close();
    37         // br.close();
    38         s.close();
    39     }
    40 }

    2. 服务器端

     1 package cn.itcast_08;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.IOException;
     5 import java.io.InputStreamReader;
     6 import java.net.ServerSocket;
     7 import java.net.Socket;
     8 
     9 public class ServerDemo {
    10     public static void main(String[] args) throws IOException {
    11         // 创建服务器Socket对象
    12         ServerSocket ss = new ServerSocket(22222);
    13 
    14         // 监听客户端连接
    15         Socket s = ss.accept();
    16 
    17         // 包装通道内容的流
    18         BufferedReader br = new BufferedReader(new InputStreamReader(
    19                 s.getInputStream()));
    20         String line = null;
    21         while ((line = br.readLine()) != null) {
    22             System.out.println(line);
    23         }
    24 
    25         // br.close();
    26         s.close();
    27         // ss.close();
    28     }
    29 }

    运行效果,先开服务器端,如下:

    再开客户端,如下:

    回到服务器,如下:

  • 相关阅读:
    解决Altera家的ROM仿真数据一直为0
    解决sublime text3 中文字符乱码
    sublime3添加verilog自动补全代码段
    慢腾腾的Quartus prime16.0加快编译速度
    Quartus prime16.0 与modelsim ae 联调
    JTAG基础知识
    Quartus prime 16.0 中通过JTAG固化程序
    FPGA功能仿真,门级仿真,后仿真的区别
    testbench中$display查看例化model里面信号方法以及$realtime用法
    PHP 批量移动文件改名
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4860614.html
Copyright © 2011-2022 走看看