技术文摘
Java Socket通信客户端与服务器代码详解
2025-01-01 23:22:22 小编
Java Socket通信客户端与服务器代码详解
在Java编程中,Socket通信是实现网络应用的重要方式之一。它允许不同计算机之间通过网络进行数据传输和通信。本文将详细介绍Java Socket通信的客户端与服务器代码。
首先来看服务器端代码。在Java中,创建一个服务器需要使用ServerSocket类。以下是一个简单的服务器端示例代码:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器启动,等待客户端连接...");
Socket socket = serverSocket.accept();
InputStream in = socket.getInputStream();
byte[] buffer = new byte[1024];
int len = in.read(buffer);
String message = new String(buffer, 0, len);
System.out.println("收到客户端消息:" + message);
OutputStream out = socket.getOutputStream();
out.write("服务器已收到消息".getBytes());
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这段代码创建了一个监听在8888端口的服务器,等待客户端连接。当客户端连接后,接收客户端发送的消息并回复。
接下来是客户端代码:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 8888);
OutputStream out = socket.getOutputStream();
out.write("你好,服务器".getBytes());
InputStream in = socket.getInputStream();
byte[] buffer = new byte[1024];
int len = in.read(buffer);
String message = new String(buffer, 0, len);
System.out.println("收到服务器回复:" + message);
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端代码连接到服务器,发送消息并接收服务器的回复。
在实际应用中,可以根据需求对代码进行扩展和优化,例如添加多线程处理多个客户端连接等。通过掌握Java Socket通信的客户端与服务器代码,能够开发出各种网络应用程序。
TAGS: 代码详解 Java Socket 客户端代码 服务器代码
- 函数式编程中可变状态与副作用的处理之道
- API 文档编写的卓越实践及示例
- 程序员晋升架构师必知的面试关键:JVM 整体架构、内存模型及调优实践
- FluentResults 中结果与错误的优雅处理之道
- 降低开发环境中 Spring Boot 应用程序内存超 40% 的方法
- Android 应用开发:轻松几步实现摇一摇功能
- 即刻学习,实践 Maven 插件的运用
- Java、Spring 与 Dubbo 的 SPI 机制对比,孰优孰劣?
- Spring 解决泛型擦除的出色思路,如今已为我所用
- Swift 条件控制与循环:让我们一同探讨
- Swift 中的数组、字典与集合
- MySQL 临时表于高并发场景中或引发的性能问题有哪些?
- Requestium - 融合 Requests 与 Selenium 的自动化测试工具
- 构建应用程序 Docker 镜像时管理与优化镜像大小的方法
- 12 个关于未来世界软件开发的预测