Java 实现简单Socket 通信的示例

Java 实现简单 Socket 通信的示例

简介

Socket 是实现网络编程的一种工具,它能够通过网络连接实现两台计算机之间的数据传输。在 Java 中,可以通过使用 Socket 类和 ServerSocket 类来简单地实现 Socket 通信。

示例 1:Socket 客户端

import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;

public class SocketClient {

    public static void main(String[] args) {
        try (Socket socket = new Socket("127.0.0.1", 8888)) {
            InputStream input = socket.getInputStream();
            byte[] bytes = new byte[1024];
            int len;
            while ((len = input.read(bytes)) != -1) {
                System.out.println(new String(bytes, 0, len));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码实现了一个简单的 Socket 客户端程序。在这个程序中,我们通过 Socket 类建立和服务器的连接,获取其输入流,并从输入流中读取数据。该程序读取到的数据直接输出到控制台中,这里只是为了演示如何使用 Socket 类。在实际应用中,可以根据具体需求对数据进行处理。

示例 2:Socket 服务器端

import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class SocketServer {

    public static void main(String[] args) {
        try (ServerSocket serverSocket = new ServerSocket(8888)) {
            while (true) {
                Socket socket = serverSocket.accept();
                OutputStream output = socket.getOutputStream();
                output.write("Hello World".getBytes());
                socket.shutdownOutput();
                socket.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码实现了一个简单的 Socket 服务器程序。在这个程序中,我们通过 ServerSocket 类建立和客户端的连接,获取其输出流,并向输出流中写入数据。这里服务器只会向客户端写入一条信息,然后关闭连接。在实际应用中,可以根据具体需求对输入输出流进行处理,从而实现更加复杂的业务逻辑。

总结

以上就是 Java 实现简单 Socket 通信的示例。通过学习这两个示例,我们可以掌握使用 Socket 类和 ServerSocket 类实现 Socket 通信的基本方法,为以后实现更加复杂 Socket 应用程序打下坚实的基础。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 实现简单Socket 通信的示例 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 详解Java5、Java6、Java7的新特性

    详解 Java5、Java6、Java7 的新特性 随着 Java 技术的不断发展,每个新版本都带来了新的特性和改进,从 Java5 到 Java7,Java 技术得到了很多重大的改进和新增功能。本文将详细讲解 Java5、Java6、Java7 的新特性。 Java5 Java5 中引入了很多重要的特性,这些特性极大地改进了 Java 语言和虚拟机的性能和…

    Java 2023年5月26日
    00
  • Java 实战项目之疫情防控管理系统详解

    Java 实战项目之疫情防控管理系统详解 1. 项目介绍 该项目是一个基于Java的疫情防控管理系统。通过该系统,用户可以实现疫情病例的查询、疫情防控信息的发布和员工健康信息的管理等功能。 2. 技术栈 2.1 前端技术栈 HTML/CSS/JavaScript jQuery Bootstrap 2.2 后端技术栈 Java Spring/Spring MV…

    Java 2023年5月23日
    00
  • Java加密 消息摘要算法SHA实现详解

    Java 加密之消息摘要算法SHA256 实现详解 在这篇文章中,我们将详细介绍使用 SHA256 算法实现消息摘要的 Java 编程。本文将介绍什么是消息摘要算法、SHA256 算法的原理和用法,以及如何在 Java 中使用 SHA256 实现消息摘要。本文还提供了两个示例来演示如何使用 SHA256 算法。 什么是消息摘要算法? 消息摘要算法是简单的单向…

    Java 2023年5月19日
    00
  • Java线程池ThreadPoolExecutor原理及使用实例

    Java线程池ThreadPoolExecutor原理及使用实例 1. 线程池ThreadPoolExecutor的工作原理 线程池ThreadPoolExecutor是Java中常用的一个多线程处理工具。其主要特点是在应用程序启动时预先创建线程池中的一定数量的线程,在应用程序运行时,将需要执行的任务放到线程池中,线程池中的线程依次执行这些任务。线程池负责监…

    Java 2023年5月26日
    00
  • 高价值Java多线程面试题分析

    高价值Java多线程面试题分析攻略 1. 多线程基础知识 在面试过程中,多线程基础知识往往是被考查的重点。这里列举一些常见的面试题: 如何创建线程? 线程的状态有哪些? 线程安全是什么? synchronized和ReentrantLock的区别? wait()和sleep()的区别? volatile关键字的作用? 对于这些问题,我们要明确掌握线程的基本概…

    Java 2023年5月19日
    00
  • Spring Boot 访问安全之认证和鉴权详解

    Spring Boot 访问安全之认证和鉴权详解 在Spring Boot应用中,实现访问安全、认证和鉴权是非常重要的。本文将详细讲解Spring Security的使用,使开发人员能够更好地掌握如何使用Spring Boot实现访问安全。 前置知识 在开始学习Spring Security之前,需要先掌握以下知识: Spring Boot的基础知识 Mav…

    Java 2023年5月20日
    00
  • SpringBoot 2.0 整合sharding-jdbc中间件实现数据分库分表

    下面是详细的攻略。 1. 简介 sharding-jdbc 是一个基于 Java 开发的开源分布式中间件,可以提供数据分库、数据分表等功能。而SpringBoot 2.0 框架已经支持了 sharding-jdbc。 2. 步骤 2.1 添加 Maven 依赖 在 pom.xml 文件中添加 sharding-jdbc 的 Maven 依赖: <!–…

    Java 2023年5月20日
    00
  • SpringMvc请求处理参数 和 响应数据处理的示例详解

    Spring MVC是一种基于Java的Web框架,它提供了一种灵活的方式来处理Web请求和响应。在Spring MVC中,我们可以使用多种方式来处理请求参数和响应数据。本文将详细介绍Spring MVC请求处理参数和响应数据处理的方法,并提供两个示例来说明这些方法的使用。 Spring MVC请求处理参数 在Spring MVC中,我们可以使用多种方式来处…

    Java 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部