Java使用TCP协议发送和接收数据方式

 更新时间:2024年12月23日 11:58:42   作者:xyu2_  
这篇文章详细介绍了Java中使用TCP进行数据传输的步骤,包括创建Socket对象、获取输入输出流、读写数据以及释放资源,通过两个示例代码TCPTest01.java和TCPTest02.java,展示了如何在客户端和服务器端进行数据交换

Java使用TCP协议发送和接收数据

1. TCP

TCP是面向连接的可靠传输协议

2. Java使用TCP发送数据代码

三步:

  • (1) 创建客户端的Socket对象Socket
  • (2) 获取输出流,写数据
  • (3) 释放资源
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;


public class TCPTest01 {
    public static void main(String[] args) throws IOException {
        Socket s = new Socket(InetAddress.getByName("uos-pc"), 10086);

        OutputStream os = s.getOutputStream();
        os.write("FTP".getBytes());

        s.close();

    }
}

3. Java使用TCP接收数据代码

四步:

  • (1) 创建服务器Socket对象ServerSocket
  • (2) 监听客户端链接,返回Socket对象
  • (3) 获取输入流,读数据,控制台显示
  • (4) 释放资源
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPTest02 {
    public static void main(String[] args) throws IOException {
        ServerSocket ss = new ServerSocket(10086);
        Socket s = ss.accept();
        InputStream is = s.getInputStream();
        byte[] b = new byte[1024];
        int len = is.read(b);
        String data = new String(b, 0, len);
        System.out.println(data);
        s.close();
        ss.close();
    }
}

4. 执行

分别启动TCPTest01.java和TCPTest02.java

可在控制台看到输出TCP

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何使用Java 8 中的 Stream 遍历树形结构

    如何使用Java 8 中的 Stream 遍历树形结构

    这篇文章主要介绍了使用Java 8中的Stream遍历树形结构,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看,代码实现为了实现简单,就模拟查看数据库所有数据到List里面,需要的朋友可以参考下
    2023-08-08
  • SpringCloud Zuul网关功能实现解析

    SpringCloud Zuul网关功能实现解析

    这篇文章主要介绍了SpringCloud Zuul网关功能实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Java实现的傅里叶变化算法示例

    Java实现的傅里叶变化算法示例

    这篇文章主要介绍了Java实现的傅里叶变化算法,结合具体实例形式分析了基于Java的傅里叶变化算法定义与使用相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • java多线程开发ScheduledExecutorService简化方式

    java多线程开发ScheduledExecutorService简化方式

    这篇文章主要为大家介绍了java多线程开发ScheduledExecutorService的简化方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • java设计模式笔记之代理模式

    java设计模式笔记之代理模式

    这篇文章主要为大家详细介绍了java设计模式之代理模式笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Java开发之将PDF转换为多种图片格式的方法指南

    Java开发之将PDF转换为多种图片格式的方法指南

    本文将详细介绍如何使用 Java 将 PDF 转换为 PNG、JPG、TIFF 以及 SVG 格式,同时给出完整示例代码和解析,有需要的小伙伴可以参考一下
    2025-09-09
  • Java中流式计算flatMap和map的区别及说明

    Java中流式计算flatMap和map的区别及说明

    文章主要讲解了在Java中使用`Optional`类时,`map`和`flatMap`的区别,`map`会将返回值包装成`Optional`,导致嵌套的`Optional`结构,而`flatMap`会自动展平嵌套的`Optional`,最终得到一层`Optional`,因此,当函数返回`Optional`时,应使用`flatMap`而不是`map`
    2026-01-01
  • 深入浅出Java中的字节流和字符流详解

    深入浅出Java中的字节流和字符流详解

    Java 中的输入输出(I/O)流主要分为字节流和字符流,这两类流为开发者提供了高效的文件读写方式,也解决了不同编码格式下的字符处理问题,本文将带你深入了解字节流和字符流的区别、应用场景以及如何使用它们处理文件操作
    2024-12-12
  • java Swing JFrame框架类中setDefaultCloseOperation的参数含义与用法示例

    java Swing JFrame框架类中setDefaultCloseOperation的参数含义与用法示例

    这篇文章主要介绍了java Swing JFrame框架类中setDefaultCloseOperation的参数含义与用法,结合实例形式分析了Swing组件的JFrame框架类中setDefaultCloseOperation方法的简单使用技巧,需要的朋友可以参考下
    2017-11-11
  • Java微信公众号安全模式消息解密

    Java微信公众号安全模式消息解密

    这篇文章主要为大家详细介绍了Java微信公众号安全模式消息解密,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12

最新评论