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日

相关文章

  • java基础的详细了解第三天

    Java基础的详细了解第三天 欢迎来到Java基础的详细了解第三天。今天我们将深入了解Java的循环结构、数组、面向对象编程等知识点。 1. 循环结构 Java提供了三种循环结构:while循环、do-while循环和for循环。其中while循环和do-while循环是条件循环,而for循环则是计数循环。以下是它们的基本语法: // while循环 whi…

    Java 2023年5月20日
    00
  • Java中的对称加密详解

    Java中的对称加密详解 本文将详细讲解Java中对称加密的原理及实现方式。对称加密是一种加密方式,使用同一个密钥进行加密和解密,是数据安全传输中常用的一种方式。 对称加密的原理 对称加密使用同一把密钥进行加密和解密,一般分为如下三个步骤: 明文加密 密文传输 密文解密 使用一把密钥可以实现两个相同结构的模块进行数据通信时进行加解密操作。对称加密的优点是速度…

    Java 2023年5月19日
    00
  • 关于maven环境的安装及maven集成idea环境的问题

    下面是关于maven环境的安装及maven集成idea环境的问题的完整攻略。 1. Maven环境的安装 1.1 下载Maven 首先,需要从Maven官网上下载最新版的Maven。可以访问以下网址: https://maven.apache.org/download.cgi 选择最新版本的二进制zip文件,下载后解压缩到本地。 1.2 配置环境变量 在Ma…

    Java 2023年5月20日
    00
  • win2003 服务器 安全设置 技术实例(比较安全的方法)

    Win2003服务器安全设置技术实例 作为一名运维人员,服务器安全设置是不可或缺的一项工作。下面介绍一些比较安全的 Win2003 服务器的技术实例。 禁用不必要的服务 Win2003 服务器中默认启动多项服务,而其中有些服务并不是所有人都需要的。禁用这些不必要的服务,可以减少服务器的攻击面。在启用服务之前,务必确认该服务是否对服务器的正常运行有必要。 下面…

    Java 2023年6月15日
    00
  • Struts1简介和入门_动力节点Java学院整理

    Struts1简介和入门攻略 什么是Struts1 Struts1是一个基于MVC设计模式的开源Web应用框架,可以快速构建基于Java EE的Web应用程序。它的主要组成部分包括Action、Form、Configuration、RequestProcessor等。 Struts1的优点 开源免费,社区支持活跃 遵循MVC设计模式,易于维护和扩展 可以快速…

    Java 2023年5月20日
    00
  • 支持IE和firefox的js代码美化加亮源码

    首先,我们需要了解什么是代码美化加亮。代码美化加亮是通过对代码进行格式化和着色,使代码看起来更加美观、易读和可维护的技术。在项目开发中,我们常常需要对JS代码进行美化加亮,以便于代码的审查、调试和维护。 操作步骤: 1.选择一个JS代码美化工具,并下载相关工具。本例中我们选择支持IE和Firefox的CodeMirror代码编辑器。2.引入jQuery和Co…

    Java 2023年6月15日
    00
  • Spring Security代码实现JWT接口权限授予与校验功能

    为了实现JWT接口权限授予与校验功能,我们需要以下步骤: 1. 添加Spring Security和JWT依赖 Spring Security是一个现成的身份验证和授权框架,而JWT是一种安全性较高的身份认证方式。因此,我们需要添加相关依赖来支持这些功能。可以在Maven或Gradle中添加以下依赖: <dependencies> … &lt…

    Java 2023年5月20日
    00
  • 33基于Java简单实现图书馆借书管理系统设计与实现

    本章节给大家介绍一个基于Java简单实现图书馆借书管理系统的设计与实现 项目概述 项目总体分为俩种角色,分别是管理员和阅读者,管理员可以登录系统中,进行图书管理,上架下架图书,对用户进行管理、对读者进行管理、查看借阅记录管理等,读者角色可以登录系统查询图书信息、借阅和归还图书、查看个人借阅记录、编辑个人信息等。 项目功能简单,数据库也只有4张表,分别为管理员…

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