Java Socket 编程指南143


Java Socket 编程是一种使用 Java 语言建立和管理网络通信的技术。它使用 Socket 类,为客户端和服务器之间的双向通信提供了一个接口。

建立 Socket 连接

要建立 Socket 连接,需要创建 Socket 对象,并指定要连接的远程主机和端口号。对于服务器端来说,需要创建 ServerSocket 对象并监听特定端口,等待客户端连接。
// 客户端
Socket socket = new Socket("localhost", 8080);
// 服务器端
ServerSocket serverSocket = new ServerSocket(8080);
Socket clientSocket = ();

发送和接收数据

建立连接后,可以使用 getOutputStream() 和 getInputStream() 方法从 Socket 对象中获取 Input/Output 流,以便发送和接收数据。
// 发送数据
OutputStream outputStream = ();
("Hello, world!".getBytes());
// 接收数据
InputStream inputStream = ();
byte[] data = new byte[1024];
int length = (data);

Socket 选项

Socket 类提供了许多选项来配置 Socket 行为,例如超时、套接字缓冲区大小和流量控制。可以通过 setOption() 和 getOption() 方法进行配置。
// 设置超时
(1000);
// 获取缓冲区大小
int bufferSize = ();

Socket 类型

Java 支持两种类型的 Socket:TCP 和 UDP。
TCP(传输控制协议):是一种面向连接的协议,提供可靠的、有序的数据传输。
UDP(用户数据报协议):是一种无连接的协议,提供快速、无序的数据传输。

示例

以下是一个简单的 Java Socket 客户端和服务器端示例,演示如何使用 Socket 编程进行通信:
// 客户端
public class SocketClient {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 8080);
OutputStream outputStream = ();
("Hello, server!".getBytes());
();
}
}
// 服务器端
public class SocketServer {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8080);
Socket clientSocket = ();
InputStream inputStream = ();
byte[] data = new byte[1024];
int length = (data);
(new String(data, 0, length));
();
();
}
}


Java Socket 编程是建立网络通信应用程序的基础。通过使用 Socket 对象和相关的 Input/Output 流,可以轻松地发送和接收数据,并配置 Socket 行为。掌握 Socket 编程技巧对于开发各种网络应用程序至关重要,例如网络服务器、客户端应用程序和文件传输工具。

2024-11-11


上一篇:Java 中查找方法的全面指南

下一篇:Java 连接 MySQL 数据库的深入指南