我有两部手机连接到Wifi接入点,两者都在私人范围内拥有ip。 其中一部手机上运行了HTTP服务器,另一部手机就像客户端一样。客户端将GET请求数据作为名称/发送到服务器 URL查询字符串中的值对。目前服务器只在接收到查询字符串时发送HTTP.OK。
正在发生的事情是客户端可能不是静止的并且可能会四处走动所以它可能无法在Wifi访问的范围内 因为我没有从服务器端的客户端发送所有数据。 我想确保发送的所有数据实际上都是由服务器接收的。
我应该实施哪种纠错措施?我可以检查一些相关的HTTP错误代码等吗?
答案 0 :(得分:1)
您需要检查客户端的超时时间。这取决于使用的过程/语言。
编辑:http://wiki.forum.nokia.com/index.php/Using_Http_and_Https_in_Java_ME
看起来您只需设置超时并捕获IO错误。
答案 1 :(得分:1)
如果HTTP服务器在GET请求中没有收到整个查询字符串,则HTTP请求可能无效,因为这些参数位于请求的第一行。
服务器将无法处理请求,在这种情况下可能会返回状态码400(错误请求)。
如果您的客户端收到此信息(似乎不太可能无法传输请求,但收到响应),那么您将知道要重新传输。通常,TCP连接的属性(如自动重新传输,校验和和超时)应该是成功传递或确定失败所需的全部内容。
答案 2 :(得分:1)
过早优化。
网络堆栈的下半部分已经处理了连接完整性。因此,如果请求中间有任何丢失(假设它跨越多个数据包),TCP堆栈将尝试在将数据传递到服务器之前恢复它们。
如果您需要自己证明这一点,那么只需添加一个校验和作为查询的最后一部分。
℃。