我目前正致力于简单客户端/服务器文件同步。为此,客户端和服务器遵循一个简单的协议,它决定了消息的发送顺序。
缩短协议(使用Object / ByteArrayStreams):
客户端循环:
服务器循环:
重复。
问题是当传输过程中出现错误时协议出现故障而我通常会得到StreamCorruptedExceptions
,因为至少有一方正在等待其他事情。
以下是问题的示例情况: 无论出于何种原因,服务器在文件接收期间失败(3)现在服务器等待文件名。由于该错误,客户端到达发送数据的第3部分。然后抛出异常,因为服务器需要一个消息对象,而客户端发送字节数据。
解决这个问题的最佳方法是什么?
答案 0 :(得分:2)
一些想法
其他thougt