Re: Applet Hangs when submitting data to servlet
On Sep 28, 7:30 am, Nigel Wade <n...@ion.le.ac.uk> wrote:
ILPTAB wrote:
Update:
Well I finally got around to trying Nigel's suggestion of calling the
flush() method after the ObjectOutputStream is opened. Unfortunat=
ely
this did not resolve the problem.
Can anybody think of a reason why this problem would occur on some
computers and not on others? I know that Roedy suggested that the=
re
may be an issue with the version of a class that has been cached into
the windows browser but the code I posted above was compiled and
published to our web server exactly one time. How could there be a
version conflict with that? That being said I will start adding t=
he
version info to code just in case.
I just find it so darn perplexing that the site works for some people
and not for others.
Is there anything in common with the clients which fail? Windows patch le=
vel,
JRE version, browser etc. I'd go with Roedy's suggestion and use Wireshar=
k to
look at the packets on the wire to see what's being sent between the appl=
et and
the server.
Could this be a FIREWALL issue?
I doubt it, unless it's a badly broken firewall. I don't see how a proper=
ly
functioning firewall could result in that scenario.
--
Nigel Wade, System Administrator, Space Plasma Physics Group,
University of Leicester, Leices=
ter, LE1 7RH, UK
E-mail : n...@ion.le.ac.uk
Phone : +44 (0)116 2523548, Fax : +44 (0)116 2523555- Hide =
quoted text -
- Show quoted text -
One more piece of info and then I promiss I'll stop. Here is a copy
the routing script that my web browser calls: I don't pretend to
understand it but I couldn't help but notice that it has the word
DIRECT in it all over the place.
//Copyright (c) 1997 Microsoft Corporation
BackupRoute="DIRECT";
UseDirectForLocal=true;
function MakeIPs(){
this[0]="10.0.0.0";
this[1]="255.0.0.0";
}
DirectIPs=new MakeIPs();
cDirectIPs=2;
function MakeNames(){
this[0]="*.ilptab.il.us";
}
DirectNames=new MakeNames();
cDirectNames=1;
cNodes=1;
function MakeProxies(){
this[0]=new Node("webT1Resv.ilptab.il.us:8080",0,1.000000);
}
Proxies = new MakeProxies();
function Node(name, hash, load){
this.name = name;
this.hash = hash;
this.load = load;
this.score = 0;
return this;
}
function FindProxyForURL(url, host){
var urlhash, ibest, bestscore, list, i, j;
if (UseDirectForLocal && isPlainHostName(host))
return "DIRECT";
if (cDirectNames > 0)
for (i = 0; i < cDirectNames; i++)
if (shExpMatch(host, DirectNames[i]))
return "DIRECT";
if (cDirectIPs > 0)
for (i = 0; i < cDirectIPs; i += 2)
if (isInNet(host, DirectIPs[i], DirectIPs[i+1]))
return "DIRECT";
urlhash = HashString(url);
for (i = 0; i < cNodes; i++)
Proxies[i].score = Proxies[i].load * Scramble(MakeInt(urlhash ^
Proxies[i].hash));
list = "";
for (j = 0; j < cNodes; j++) {
for (bestscore = -1, i = 0; i < cNodes; i++) {
if (Proxies[i].score > bestscore) {
bestscore = Proxies[i].score;
ibest = i;
}
}
Proxies[ibest].score = -1;
list = list + "PROXY " + Proxies[ibest].name + "; ";
}
list = list + BackupRoute;
return list;
}
function HashString(url){
var h = 0;
var slashes = 0;
for (var i = 0; i < url.length; i++) {
var c = url.charAt(i);
if (c == '/')
slashes++;
if (slashes < 3)
c = c.toLowerCase();
h += (((h & 0x1fff) << 19) | ((h >> 13) & 0x7ffff)) +
CharToAscii(c);
h = MakeInt(h);
}
return h;
}
function Scramble(h){
h += ((h & 0xffff) * 0x1965) + ((((h >> 16) & 0xffff) * 0x1965) <<
16) + (((h & 0xffff) * 0x6253) << 16);
h = MakeInt(h);
h += (((h & 0x7ff) << 21) | ((h >> 11) & 0x1fffff));
return MakeInt(h);
}
var Chars =" !\"#$%&\'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~=7F
=E2=82=AC =81??????????? =8D=C5=BD =8F =90???????????? =9D=C5=BE?=
=A1 =A2 =A3 =A4 =A5 =A6 =A7 =A8 =A9 =AA =AB =
=AC =AD =AE =AF =B0 =B1 =B2 =B3
=B4 =B5 =B6 =B7 =B8 =B9 =BA =BB =BC =BD =BE =BF=C3=
=80=C3=81=C3=82=C3=83=C3=84=C3=85=C3=86=C3=87=C3=88=C3=89=C3=8A=C3=8B=C3=8C=
=C3=8D=C3=8E=C3=8F=C3=90=C3=91=C3'=C3=93=C3=94=C3=95=C3=96=C3=97=C3=98=C3=
=99=C3=9A=C3=9B=C3=9C=C3=9D=C3=9E=C3=9F=C3 =C3=A1=C3=A2=C3=A3=C3=A4=C3=A5=
=C3=A6=C3=A7=C3=A8=C3=A9=C3=AA=C3=AB=C3=AC=C3=AD=C3=AE=C3=AF=C3=B0=C3=B1=C3=
=B2=C3=B3=C3=B4=C3=B5=C3=B6=C3=B7=C3=B8=C3=B9=C3=BA=C3=BB=C3=BC=C3=BD=C3=BE
";
function CharToAscii(c){
return Chars.indexOf(c) + 32;
}
function MakeInt(x){
if (x < 0) {
return x + 4294967296;
} else if (x >= 4294967296) {
return x - 4294967296;
}
return x;
}