java网络编程应用实例

允霆科技 编程 2024-04-21 664 0

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 clients = new HashSet<>();

    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();

    }

    }

    }

    ```

  • 首先运行Server.java文件启动服务器端。
  • 然后运行多个Client.java文件启动客户端,并可以在客户端输入消息进行通信。
  • 以上是一个简单的Java网络编程应用实例,展示了如何创建一个简单的聊天应用程序,其中包括服务器端和多个客户端的通信。通过这个例子,你可以了解到如何使用Java Socket API进行网络编程,以及如何实现简单的消息广播功能。

    版权声明

    本文仅代表作者观点,不代表百度立场。
    本文系作者授权百度百家发表,未经许可,不得转载。

    分享:

    扫一扫在手机阅读、分享本文

    允霆科技

    允霆科技网是一家以科技创新为核心,为客户提供各类科技新闻、科技资讯、科技产品评测、科技解决方案等科技行业服务的高科技企业。

    最近发表