请教各位,Resin 运行没有问题,Weblogic反而有问题,关于从Buffer中读取

Ge 2004-01-12 10:18:16
while(true)
{
if ((in.read(buf))>0)
{
i++;
if (compareHead(buf))
{
String tmp = new String(buf,0,261);
int pL = packLength(tmp.getBytes()[3],tmp.getBytes()[4]);
if(pL<=256)
{
get = get + new String(tmp.getBytes(),5,pL);
break;
}
else
{
get = get + new String(tmp.getBytes(),5,256);
}
}
}
}
如果第一接到的包长度大于256,,就重复的读取,直到包长度小于256为止,,,
在Resin中没有问题,例如整个长度是275,,,第一次包长275,第二次19,,然后跳出循环,但是在weblogic中却只有一次读取,然后就死循环了,像是丢了后面的数据,,
...全文
66 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Ge 2004-02-03
感谢非常!!!
  • 打赏
  • 举报
回复
illmoon 2004-02-02
我记得weblogic在readbuffer时,它本身对长度的判断有问题,由此造成什么异常然后退出。
解决办法在不同的版本、是否有补丁时好像还不一样。很久前碰到过,忘了。
可以用这个异常搜索网上资料,或者去www.dev2dev.com网站看看。
  • 打赏
  • 举报
回复
Ge 2004-02-02
高人,帮帮忙啊
  • 打赏
  • 举报
回复
Ge 2004-01-23
虽然只有30分,,至少也给我一希望啊!!!无解吗?
  • 打赏
  • 举报
回复
Ge 2004-01-12
达人,救命啊
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
加入

8.0w+

社区成员

Java Web 开发
社区管理员
  • Web 开发社区
申请成为版主
帖子事件
创建了帖子
2004-01-12 10:18
社区公告
暂无公告