【问题标题】:java.net.SocketException: Connection reset server-clientjava.net.SocketException:连接重置服务器客户端
【发布时间】:2015-05-31 18:18:38
【问题描述】:

虽然我已经阅读了一些帖子,但我并没有设法解决我的问题!

我正在尝试使用对称加密制作客户端服务器应用程序。所以这就是我要做的。

这是我在服务器上的时间

 while ((inputLine = in.readLine()) != null) {
        AES_Cipher.init (Cipher.DECRYPT_MODE, AES_Key);


plaintext_decrypted = AES_Cipher.doFinal (inputLine.getBytes("UTF-8"));

        System.out.println("Server receive : "+ plaintext_decrypted);
        System.out.println("type message :");
        outputLine = stdIn.readLine();
        out.println(outputLine);
    }

在我放这行之前plaintext_decrypted = AES_Cipher.doFinal (inputLine.getBytes("UTF-8"));

一切正常。但是当我尝试解密我的消息时,它会崩溃:/

【问题讨论】:

    标签: java connection client server socketexception


    【解决方案1】:
    1. 读取字节,而不是行。密文中没有行。
    2. 将密码初始化移到读取循环之前。您不想每次循环都重新初始化它。
    3. 不要使用doFinal(), 使用update(), 假设发件人也这样做,这很有可能。

    【讨论】:

    • 我使用这个“BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));”从套接字读取。我不能用这个读取字节,所以我想我必须改变这个。我使用 update() 而不是 doFinal() 但它没有工作仍然粉碎:/ 无论如何,谢谢你的帮助 :)
    • 这是我的错误:线程“main”中的异常 java.net.SocketException:连接在 java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) 处重置) 在 sun.nio.cs.StreamDecoder.readBytes(Unknown Source) 在 sun.nio.cs.StreamDecoder.implRead(Unknown Source) 在 sun.nio.cs.StreamDecoder.read(Unknown Source) 在 java.io.InputStreamReader。在 java.io.BufferedReader.readLine(Unknown Source) 在 java.io.BufferedReader.readLine(Unknown Source) 在 Client.main(Client.java: 58)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 2016-08-28
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多