Java网络编程是通过Java语言实现网络通信的过程。它可以帮助Java程序员创建基于网络的客户端和服务端,并实现数据的传输和交互。
Java网络编程主要包括以下几部分内容:
- Socket 编程: Socket 是一种在客户端和服务端之间创建网络连接的一种标准方式。Java 提供了 java.net 包,包含了 Socket 和 ServerSocket 类,可以用来实现 Socket 编程。
- URL 编程: URL 是统一资源定位符,用来表示可访问的资源的标识符。Java 提供了 java.net.URL 类,可以用来访问网络中的各种资源。
- HttpURLConnection 编程: HttpURLConnection 是一个用于发送 HTTP 请求和接收 HTTP 响应的 Java 标准类。Java 提供了 java.net.HttpURLConnection 类,可以用来实现 HTTP 请求和响应的处理。
- DatagramSocket 编程: DatagrStranmission Packet (U) 与 Socket 相比,用于在一个网络上可以广播和多播的单个数据包的处理。Java 提供了 java.net.DatagramSocket 和 java.net.Datag马(Packet) 类,可以用来实现DatagramSocket 编程
下面我们来看看如何使用 Java 网络编程实现一个简单的客户端和服务端之间的通信。
示例1: 服务端和客户端之间实现简单的字符串传输
服务端代码:
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(8888);
System.out.println("服务器启动成功。");
Socket socket = server.accept();
InputStream inputStream = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String tmp = "";
while ((tmp = reader.readLine()) != null) {
System.out.println("从客户端接收到的消息:" + tmp);
}
reader.close();
inputStream.close();
socket.close();
server.close();
}
}
客户端代码:
import java.net.*;
import java.io.*;
public class Client {
public static void main(String[] args) throws Exception {
String msg = "Hello, Server!";
Socket socket = new Socket("127.0.0.1", 8888);
OutputStream outputStream = socket.getOutputStream();
PrintWriter writer = new PrintWriter(outputStream);
writer.write(msg);
writer.flush();
writer.close();
outputStream.close();
socket.close();
}
}
示例2:使用Java URL编程获取百度首页的信息
import java.net.*;
import java.io.*;
public class URLDemo {
public static void main(String[] args) throws Exception {
URL url = new URL("http://www.baidu.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String tmp = "";
while ((tmp = reader.readLine()) != null) {
System.out.println(tmp);
}
reader.close();
connection.disconnect();
}
}
以上是 Java 网络编程的基本介绍和两个示例,希望可以帮助有需要的读者。