浏览器post,serversocket接收的数据有时有误?(100分)

  • 主题发起人 主题发起人 yshu
  • 开始时间 开始时间
Y

yshu

Unregistered / Unconfirmed
GUEST, unregistred user!
我在写一个处理浏览器提交数据的程序,象WEB服务器,用了ServerSocket接收和回传数据,
在internet环境下测试,有时偶尔得到的post数据有误,而用IIS接收则没问题,应该是SERVER
端的问题吧,哪位大侠能给个提示。
 
浏览器提交的信息对某些字符是encode了的,
比如对名、值中(不是分隔符)的 //%&= 之类是encode了的
 
这我知道,我已经用Dcode解了,有时出现“这是接收的数%`!~~”
这样的不完整的字符串,而对于一般的WEB服务器而言,每次接收的数据都是可靠的,
我是Socketserver.receivetext来取得字符串的,真怪?
 
今天测试了一下,发现ServerSocket.receivetext所接收某些用户浏览器发来的数据长度
是固定的,所以收不全数据,但在本机上测试正常,而且对于不同用户,这个固定长度是不
同的,有的用户的数据收的多,有的少。
比如某浏览器传200字节,而只能收到150字节,而且以后一直是150字节,真怪。
 
信息不一定在一个ip包发完,特别在较差的网络,
可能分2个以上的包,因此你有没有考虑到
后续接收到的数据?

 
Pipi,你说的对,我发现数据一长,就可能分为2段传递,分别触发了两次onclientRead事件。
我只有想办法组合这两个包了。谢谢。
 
后退
顶部