首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Symbian >

s60v2对http协议的解析解决思路

2012-12-17 
s60v2对http协议的解析小弟最近将一个原来部署在tomcat上的服务器移植到resin上,发现这个服务器对S60V2版

s60v2对http协议的解析
小弟最近将一个原来部署在tomcat上的服务器移植到resin上,发现这个服务器对S60V2版本的手机不支持了。抓包分析如下:
原来在tomcat上时,服务器的http响应用content-length指示内容长度,对于S60V2、S60V3和S40手机都是这样
部署到resin上后,服务器的http响应没有content-length头域了,而是用transfer-encoding:chunked动态表示长度,对于上述的三个平台的手机都是这样。
部署在resin上的服务器对S60V3和S40都能够支持,就是对S60V2的无法支持,每次服务器返回给客户端http响应以后,客户端就提示连接错误,这个客户端是手机自带的,也无法跟进去分析到底是怎么回事。
另外一个奇怪的地方是,我在服务器的servlet中明明用了response.setContentLength(),但就是无法在最后发出去的http响应中显示content-length头域,debug时,发现使用response.setContentLength()函数后,response中的contentlength没有什么变化,这是怎么回事?

我现在有两个疑问
1.S60V2是不是不支持transfer-encoding
2.resin是不是需要配置什么东西,让他能够使用content-length头域

急求解答啊!!!
[解决办法]
求教啊~
[解决办法]
问题解决了
1.S60V2确实是不支持transfer-encoding方式表示消息内容长度,服务器返回的响应中必须用content-length表示消息体长度
2.如果使用了out.flush(),在响应中就会使用transfer-encoding头域

热点排行