【问题标题】:Java Client/Server Chat ApplicationJava 客户端/服务器聊天应用程序
【发布时间】:2019-11-21 11:33:50
【问题描述】:

这是我创建的应用程序,但我有以下问题:

  1. 客户端能够向其他客户端发送消息,但它们也会收到与 echo 相同的消息。因此,我希望能够发送消息并获得所有相关方的响应,但没有我自己的消息。

  2. 处理与客户端或服务器断开连接的最佳方法是什么。

  3. 我不是要回答(只是说明),它是如何让客户端发送文件的最佳方式。

【问题讨论】:

    标签: java client-server


    【解决方案1】:

    1-) 您可以在发送消息之前在for子句中检查用户。

    for (ClientHandler client: Server.activeClients) {
       if (!client.name.equals(this.name)) {
          client.dos.writeUTF(this.name + "=" + received);
       }
    }
    

    2-) 您不需要使用 while(true) 更改它,以便在用户断开连接时完成。

    while (!s.isClosed()) {
    

    3-) 首先您需要发送文件名和文件大小,然后您可以在发送方发送文件的字节。接收器将获取字节直到达到文件大小并将其保存为具有给定名称的文件。

    【讨论】:

      【解决方案2】:
      1. 你可以试试这样的

        for (ClientHandler client : Server.activeClients) {
            if(client!=this){
                client.dos.writeUTF(this.name + "=" + received);
            }
        }
        

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-17
        • 1970-01-01
        • 2016-04-09
        • 2019-03-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多