无法收到服务器的完整响应

穆罕默德·里法特(Muhammed Refaat)

我正在使用Java套接字编程来接收服务器响应,正在使用achar array并使用read()方法读取其中的每个响应

InputStream stream = null;
try{
    stream = socket.getInputStream();
}catch(Exception e){
    conn_lost();
}

if(stream != null){
    input = new BufferedReader(new InputStreamReader(
                    stream));

Looper.prepare();
char a[] = new char[1000];
for(int i =0; i < a.length; i++){
      a[i] = ' ';
   }

while (true){

   input.read(a);

   String response = String.valueOf(a);

   process_server_response(response);

   for(int i =0; i < a.length; i++){
         a[i] = ' ';
      }
}

问题是有时候我无法从服务器收到完整的响应,而是收到一半的响应,然后收到另一半的响应。

值得一提:

1-受影响的响应比其他响应大一点,但我确定它不会超过1000窝。

2-我很确定服务器端可以正常工作,并且可以发送完整的响应。

3-存在任何可能导致该行为终止符

乔恩·斯基特

问题是有时候我无法从服务器收到完整的响应,而是收到一半的响应,然后收到另一半的响应。

是的。这就是流协议的工作方式。您不应该假设一次调用就能收到所有数据read()

如果在同一流上有多个消息,则需要一种方法来告知消息结束的位置。不能read()阅读一个消息的全部,但不读任何的下一条消息的。

三种常见方法是:

  • 每个消息的长度前缀
  • 消息之间的分隔符
  • 自终止消息(例如XML,您可以通过到达其结束标记来告知文档结尾)

如果您没有任何这些方案,但是您想将多条消息放在网络上并分别进行处理,则您的协议从根本上被破坏了,您应该重新审视它。

此外,您应该指定在构建时要应用的编码InputStreamReader不要只使用平台默认值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法收到服务器的完整响应

来自分类Dev

无法收到来自远程服务器的响应

来自分类Dev

为什么代理服务器无法收到服务器的响应

来自分类Dev

无法从服务器获取完整图像

来自分类Dev

收到服务器响应后,HttpClient无法停止流传输

来自分类Dev

收到错误消息“无法加载资源:服务器响应状态为404(未找到)”

来自分类Dev

无法从服务器响应下载附件

来自分类Dev

HttpClientError:目标服务器无法响应

来自分类Dev

无法解析服务器的响应-Geocoder

来自分类Dev

无法从服务器响应下载附件

来自分类Dev

AsyncTask无法显示服务器响应

来自分类Dev

如何知道何时收到来自服务器的响应?

来自分类Dev

收到FTP响应421。服务器关闭连接

来自分类Dev

如何知道何时收到服务器的响应?

来自分类Dev

Android在线服务器收到JavaScript响应而不是Json?

来自分类Dev

完整的服务器备份

来自分类Dev

服务器在每次读取中均未收到完整的请求

来自分类Dev

Azure网站-502-Web服务器在充当网关或代理服务器时收到无效响应

来自分类Dev

502-Web服务器在充当网关或代理服务器时收到无效响应

来自分类Dev

无法从服务器获取所有json响应

来自分类Dev

C:套接字:无法读取整个服务器的响应

来自分类Dev

无法从PHP套接字服务器获取响应

来自分类Dev

SilverStripe-网站服务器无法响应您的请求

来自分类Dev

无法在本地服务器上获取xmlhttp响应

来自分类Dev

无法从PHP套接字服务器获取响应

来自分类Dev

是什么导致我的服务器无法响应

来自分类Dev

Java无法获得客户端或服务器响应

来自分类Dev

无法从在线服务器获取JSON响应

来自分类Dev

Safari无法打开页面,因为服务器停止响应

Related 相关文章

热门标签

归档