我正在创建服务器-客户端应用程序,但是有问题。我在远程计算机上运行服务器,并尝试从另一台计算机连接。我可以连接,并且我的服务器让我知道客户端已连接。但是我有一个错误,如果两个客户端连接并且一个尝试写东西,他会由于某种原因杀死另一个客户端。现在这就是问题所在。我想看看为什么会这样,所以我在程序中修复了一些代码,完成了“Clean and Build Project” ,没有错误

我发现可能与DataInputStream的输入有关,所以我想查看是否从Inputstream接收了任何数据,因为我收到的错误是java.io.EOFExceptionjava.io.DataInputStream.readUnsignedShort<Unknown Source>
从改变我的方法

while (Connected) {
            MessageReply(IN.readUTF());
        }


while (Connected) {
            //MessageReply(IN.readUTF());
            System.out.println(IN.readUTF());
        }

更改代码后,我完成了“清洁和构建项目” ,没有错误,但是由于某种原因,当我执行JAR文件时,它仍然继续执行MessageReply(IN.readUTF());函数应该执行的操作。我究竟做错了什么?

最佳答案

看起来部署可能无法正常工作(也许您没有将文件正确传输到服务器?)。另外,我个人喜欢重命名方法,重建jar,解压缩jar,在文本编辑器中打开.class文件。您将无法阅读它,但是您应该能够找到重命名的方法名称。这将告诉您代码版本是否正确。

关于java - 运行旧版本的Jar文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29541482/

10-10 13:56
查看更多