TCP套接字上的数据处理无效

时间:2015-01-13 16:21:20

标签: tcp

我有一个GUI应用程序,通过tcp发送/ recv到服务器。

有时,我们从服务器执行tcp recv时会收到垃圾数据。在读取这些空值或无效数据时,客户端应用程序有时会崩溃。

是否有一种验证此数据的好方法? - 除了捕获此例外。

我不希望GUI应用程序因服务器发送的错误数据而崩溃。

1 个答案:

答案 0 :(得分:0)

TCP有一个校验和,用于验证收到的数据;这是由操作系统完成的(有时是网络硬件,如果你有很好的硬件)。如果内容不正确,非常高概率,则发送的数据不正确。我只是声明,因为我不完全确定你知道这个事实。

如果您需要验证数据,则必须验证数据。编写一个解析数据的函数,只有在有意义的数据时才返回有意义的值。让您的GUI意识到这一点。

你的问题是一种自我回答......你不能说“我想要容错,但我不想关心错误”(“除了捕获这个例外”),以及基于对您期望的数据缺乏描述,我会说您并不真正关心数据的形式。