• Java基础知识强化之网络编程笔记07:TCP之服务器给客户端一个反馈案例


    1. 首先我们搭建服务器端的代码,如下:

     1 package cn.itcast_07;
     2 
     3 import java.io.IOException;
     4 import java.io.InputStream;
     5 import java.io.OutputStream;
     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(9999);
    13 
    14         // 监听客户端的连接
    15         Socket s = ss.accept(); // 阻塞
    16 
    17         // 获取输入流
    18         InputStream is = s.getInputStream();
    19         byte[] bys = new byte[1024];
    20         int len = is.read(bys); // 阻塞
    21         String server = new String(bys, 0, len);
    22         System.out.println("server:" + server);
    23 
    24         // 获取输出流
    25         OutputStream os = s.getOutputStream();
    26         os.write("数据已经收到".getBytes());
    27 
    28         // 释放资源
    29         s.close();
    30         // ss.close();
    31     }
    32 }

    2. 搭建客户端的代码,如下:

     1 package cn.itcast_07;
     2 
     3 import java.io.IOException;
     4 import java.io.InputStream;
     5 import java.io.OutputStream;
     6 import java.net.Socket;
     7 
     8 public class ClientDemo {
     9     public static void main(String[] args) throws IOException {
    10         // 创建客户端Socket对象
    11         Socket s = new Socket("192.168.12.92", 9999);
    12 
    13         // 获取输出流
    14         OutputStream os = s.getOutputStream();
    15         os.write("今天天气很好,适合睡觉".getBytes());
    16 
    17         // 获取输入流
    18         InputStream is = s.getInputStream();
    19         byte[] bys = new byte[1024];
    20         int len = is.read(bys);// 阻塞
    21         String client = new String(bys, 0, len);
    22         System.out.println("client:" + client);
    23 
    24         // 释放资源
    25         s.close();
    26     }
    27 }

    先开服务器端,如下:

    再开客户端,如下:

    这时候我们回头看看服务器端,如下:

  • 相关阅读:
    asp.net 获得域名,端口,虚拟目录[转]
    在EntityFramework6中执行SQL语句【转】
    Ingress 访问日志分析与监控
    kubernetes之secret
    ingress Whitelisting白名单机制
    Kubernates之从pod中拷贝文件到宿主机
    kubernetes-subpath用法(把文件挂载在已存在的目录下,不覆盖原目录)
    npm 私服工具verdaccio 搭建
    nvm安装、解决nvm command not found问题、卸载
    k8s Pod 扩容和缩容
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4860601.html
Copyright © 2020-2023  润新知