decCipher.init(Cipher.DECCRYPT_MODE, secretKey);
ois = new ObjectInputStream(new CipherInputStream(socket.getInputStream(),decCipher));
encCipher.init(Cipher.ENCRYPT_MODE, secretKey);
out = new ObjectOutputStream(new CipherOutputStream(socket.getOutputStream(),encCipher));
客户端(不同的应用)流:
Ë
ncCipher.init(Cipher.ENCRYPT_MODE, secretKey);
obj_out = newObjectOutputStream(new CipherOutputStream(socket.getOutputStream(),encCipher));
decCipher.init(Cipher.DECRYPT_MODE, secretKey);
obj_in = new ObjectInputStream(new CipherInputStream(socket.getInputStream(),decCipher)
OIS在服务器应用程序在创建threws异常流。如何解决它?当这不包裹在密码流中一切正常。
当new ObjectInputStream
正在创建,但它冻结10秒(超时),并超时限制达到时,抛出异常不会抛出异常。
例外:
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2298)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298)
请提供更完整的代码片段。你有单独的desCipher对象,还是你可能重用了你不应该使用的对象?请提供更长的回溯。你的服务器和客户端是否正确地分成两个线程?请更加耐心。 –
我已更新代码,但我不知道如何正确格式化。对不起, – user1306777
不要*重用* desCipher对象!我想它不能被初始化为同时加密和解密! –