Java 实现简单Socket 通信的示例

yizhihongxing

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日

相关文章

  • C#如何连接使用Zookeeper

    下面我将详细讲解C#如何连接使用ZooKeeper的完整攻略。 什么是ZooKeeper ZooKeeper是一个开源的分布式协调服务,可以提供数据管理、分布式锁、集群管理等功能,特别适合用于协调分布式系统中各个节点的通信。 在C#中使用ZooKeeper 安装ZooKeeper NuGet包 首先,我们需要在C#项目中引入ZooKeeper NuGet包,…

    Java 2023年5月19日
    00
  • 详解Java如何优雅的使用装饰器模式

    下面来详细讲解“详解Java如何优雅的使用装饰器模式”的完整攻略。 装饰器模式简介 装饰器模式(Decorator Pattern)是一种常用的设计模式,它允许将对象的行为在运行时更改,而无需修改其结构。这种模式是在不必改变原有对象的基础上,动态地给一个对象增加一些额外的职责。 如何使用装饰器模式 使用装饰器模式一般是通过创建一个抽象装饰者,然后通过继承该装…

    Java 2023年5月26日
    00
  • mybatis中映射文件(mapper)中的使用规则

    MyBatis是一款优秀的Java持久化框架,支持自定义SQL语句与对象之间的映射关系。其中,映射文件(mapper)是MyBatis用于管理SQL语句和对象映射的核心组件之一。在映射文件中,我们可以定义SQL语句、参数映射规则、返回值映射规则等内容。本次攻略将会详细讲解MyBatis中映射文件的使用规则,包括常见的XML标签和注意事项等。 常见的XML标签…

    Java 2023年5月20日
    00
  • jsp实现从服务器下载xls文件到客户端的方法

    实现从服务器下载xls文件到客户端通常可以通过以下步骤来完成: 服务器端准备Excel文件 首先需要在服务器端生成或获取Excel文件。一种常见的方式是使用Java POI库来动态生成Excel文件。例如,以下代码可以生成一个包含数据的Excel文件: // 创建工作簿 Workbook workbook = new XSSFWorkbook(); // 创…

    Java 2023年6月15日
    00
  • Springboot的maven间接依赖的实现

    下面就来详细讲解一下Springboot的maven间接依赖的实现。 首先,我们需要理解一下什么是maven依赖。在项目中,我们常常需要引入不同的jar包来实现不同的功能,而这些jar包之间可能存在依赖关系。如果我们手动去下载并放置这些jar包,并且手动管理它们之间的依赖关系,就会非常繁琐和复杂。Maven就是一个依赖管理工具,它通过定义pom.xml文件来…

    Java 2023年5月20日
    00
  • 一篇文章带你搞定JAVA Maven

    一篇文章带你搞定JAVA Maven 什么是Maven? Maven是一款基于Java平台的构建工具,它可以帮助开发者自动化地构建、打包、发布和管理Java项目中的各种依赖。使用Maven可以大大简化Java项目的开发和维护。Maven有一个中心仓库,里面包含了主流的Java依赖。我们可以通过Maven来自动从中心仓库中下载所需的依赖,避免了手动下载和管理依…

    Java 2023年5月19日
    00
  • Java中如何使用Response重定向

    在JavaWeb中,可以使用Response对象的sendRedirect()方法进行重定向操作。该方法可以让服务器重定向到别的页面,实现页面跳转的功能。 下面是在Java中如何使用Response重定向的完整攻略: 1. 导入相关的包和类库 在使用重定向功能之前,需要先导入一些需要的包和类库。 import java.io.IOException; imp…

    Java 2023年5月26日
    00
  • java基础–JDK SPI概述

    Java基础 — JDK SPI 概述 JDK SPI(Java Development Kit Service Provider Interface)是Java开发中的一个机制,它规定了如何将服务的实现和服务的使用解耦。在使用JDK SPI之前,程序员需要手动加载对应的实现类,而通过使用JDK SPI,程序员只需要编写服务的接口规范,而不用关心具体的实现…

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