情境:我通过ObjectOutputStream
从客户端向服务器发送一个布尔变量。此后,我立即通过writeChars()
函数发送字符串数据。服务器通过readBoolean()
接收布尔值并相应地生成一个线程。它使用readFully(bytes[])
读取字符串。
问题:服务器在ObjectInputStream.readFully(bytes[])
行挂起。
我应该只增加字节大小,还是整个方法都错了?
答案 0 :(得分:1)
如果这是String
并且您使用的是ObjectOutputStream
,则只需致电writeUTF()
进行撰写,然后readUTF()
进行阅读。该方法实际上首先将字节数写入流,然后写入字节。在接收端,它读取字节数,然后知道预期的字节数。