如何实现两台电脑之间互发消息--Java

这是一个使用Java进行网络编程的例子,展示了如何创建一个Server端和Client端,使得两台电脑能互相发送消息。Server端监听9999端口,等待客户端连接,接收到消息后回应。Client端连接到Server,输入消息并发送,接收服务器的回复,直到发送bye退出程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是使用Java实现的两台电脑可以互相发送消息的程序示例:

Server端代码:

import java.io.*;

import java.net.*;

 

public class Server {

    public static void main(String[] args) throws IOException {

        // 创建ServerSocket对象

        ServerSocket serverSocket = new ServerSocket(9999);

        System.out.println("等待客户端连接...");

        // 接受客户端连接,创建Socket对象

        Socket socket = serverSocket.accept();

        System.out.println("连接来自:" + socket.getRemoteSocketAddress());

        // 获取输入流和输出流

        InputStream inputStream = socket.getInputStream();

        OutputStream outputStream = socket.getOutputStream();

        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

        PrintWriter writer = new PrintWriter(outputStream, true);

        String message;

        while ((message = reader.readLine()) != null) {

            System.out.println("接收到消息:" + message);

            // 发送消息给客户端

            String response = "服务端已接收到消息:" + message;

            writer.println(response);

            // 如果客户端发来"bye",则退出循环

            if ("bye".equals(message)) {

                break;

            }

        }

        // 关闭连接

        reader.close();

        writer.close();

        socket.close();

        serverSocket.close();

    }

}

 

Client端代码:

import java.io.*;

import java.net.*;

 

public class Client {

    public static void main(String[] args) throws IOException {

        // 创建Socket对象

        Socket socket = new Socket("127.0.0.1", 9999);

        System.out.println("已连接服务端...");

        // 获取输入流和输出流

        InputStream inputStream = socket.getInputStream();

        OutputStream outputStream = socket.getOutputStream();

        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

        PrintWriter writer = new PrintWriter(outputStream, true);

        BufferedReader console = new BufferedReader(new InputStreamReader(System.in));

        String message, response;

        while (true) {

            // 发送消息给服务端

            message = console.readLine();

            writer.println(message);

            // 接收服务端回复的消息

            response = reader.readLine();

            System.out.println("接收到消息:" + response);

            // 如果发送"bye",则退出循环

            if ("bye".equals(message)) {

                break;

            }

        }

        // 关闭连接

        reader.close();

        writer.close();

        socket.close();

    }

}

 

使用方法:

 

先运行Server端程序;

再运行Client端程序,与Server端建立连接;

在Client端输入消息,可发送消息给Server端;

在Server端接收到消息后,可回复消息给Client端;

重复步骤3、4直至结束,发送"bye"可以退出程序。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值