Java网络编程应用实例
Java网络编程是指使用Java语言进行网络通信的过程,它允许开发人员创建各种网络应用程序,包括客户端和服务器端应用。在本文中,我们将介绍一个简单的Java网络编程应用实例,涉及到客户端和服务器端的通信。
假设我们有一个简单的聊天应用程序,其中包含一个服务器端和多个客户端。客户端可以向服务器发送消息,并且服务器会将消息广播给所有连接的客户端。
服务器端代码
```java
import java.io.*;
import java.net.*;
import java.util.*;
public class Server {
private static final int PORT = 8080;
private static Set
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(PORT)) {
System.out.println("Server started...");
while (true) {
new ClientHandler(serverSocket.accept()).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static class ClientHandler extends Thread {
private Socket socket;
private PrintWriter out;
public ClientHandler(Socket socket) {
this.socket = socket;
}
public void run() {
try {
out = new PrintWriter(socket.getOutputStream(), true);
clients.add(out);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message;
while ((message = in.readLine()) != null) {
System.out.println("Received: " message);
broadcast(message);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
clients.remove(out);
}
}
}
private void broadcast(String message) {
for (PrintWriter client : clients) {
client.println(message);
}
}
}
}
```
客户端代码
```java
import java.io.*;
import java.net.*;
public class Client {
private static final String SERVER_IP = "localhost";
private static final int SERVER_PORT = 8080;
public static void main(String[] args) {
try (
Socket socket = new Socket(SERVER_IP, SERVER_PORT);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in))
) {
System.out.println("Connected to server.");
String userInput;
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
System.out.println("Server says: " in.readLine());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上是一个简单的Java网络编程应用实例,展示了如何创建一个简单的聊天应用程序,其中包括服务器端和多个客户端的通信。通过这个例子,你可以了解到如何使用Java Socket API进行网络编程,以及如何实现简单的消息广播功能。
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。