java - 如何让两个客户互相聊天?

标签 java networking

这不是我的作业(我的作业只是与客户端和服务器聊天,它可以正常工作,尤其是在您的帮助下 [:-)] 但我想让两个客户互相聊天,我不知道当我从第一个客户那里收到短信时,我该如何将该文本发送给另一个客户。你能帮帮我吗。谢谢。

public class MainServer {

static Socket client = null;
static ServerSocket server = null;



public static void main(String[] args) {
    System.out.println("Server is starting...");
    System.out.println("Server is listening...");

    try {
        server = new ServerSocket(5050);
    } catch (IOException ex) {
        System.out.println("Could not listen on port 5050");
        System.exit(-1);

    }
    try {
        boolean done = false;
        while (!done) {

            client = server.accept();
            System.out.println("Client Connected...");
            BufferedReader streamIn = new BufferedReader(new InputStreamReader(client.getInputStream()));
            PrintWriter streamOut = new PrintWriter(client.getOutputStream(),true);
            String line = streamIn.readLine();
            if (line.equalsIgnoreCase("bye")) {
                streamIn.close();
                client.close();
                server.close();
                done = true;
            } else {
                System.out.println(line);
                streamOut.println(line);
            }
        }

    } catch (IOException e) {
        System.out.println("IO Error in streams " + e);
    }
}}

最佳答案

就是这样,您的两个“客户端”将同时充当客户端和服务器: 在套接字上监听传入的内容并通过其他套接字发送内容。

关于java - 如何让两个客户互相聊天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2087185/

相关文章:

iPhone作为数据上传代理

c - 在 C 中获取网页源代码的最有效方法是什么?

javascript - 使 HTML 页面与 C 中的套接字通信

java - 从 ArrayList 中删除元素

java - 如何让 WorkManager 一直在后台运行

java - 在 java 中读取图像时出现 IllegalArgumentException

java - 使用 JFileChooser 和文件处理

java - 如何使用 addChildEventListener 仅获取已在 Firebase 中修改的数据?

c - 有没有办法通过C代码触发DHCP

python - 我正在寻找可以让我向选定的客户端发送消息的网络服务