> Thanks for the reply. I do have the latest Java. The only thing that
> led me to believe that it was maybe a mishap on my side was because the
> chatroom has 10 or so people in it, but they're all Japanese. Maybe
> it's just a problem with the languages clashing ^_^;
> Unfortunately, I haven't been able to find where PaintChat comes from --
> or
> maybe I did find it, but didn't realise it was the website I was looking
> for
> because I can't read Japanese...
It looks like there's more than one software called "PaintChat". The one
that the OP is interested in seems to have its homepage at
http://shichan.jp/ I was unable to find the source code for the client, so I
tried decompiling the source with JAD.
The code structure for the relevant method is:
<pseudocode>
private void run_out() {
try {
if (stm_out != null) {
//do some stuff.
l3 = System.currentTimeMillis();
}
} catch (Exception e) {/*Swallow exception*/}
try {
if (stm_write != null) {
//do some stuff.
l2 = System.currentTimeMillis();
}
} catch (Exception e) {/*Swallow exception*/}
long l1 = System.currentTimeMillis();
if(l1 - l3 >= 45000L) {
stm_out.write(abyte0);
stm_out.flush();
}
if(l1 - l2 >= 45000L) {
stm_write.write(abyte1);
stm_write.flush();
}
}
</pseudocode>
In other words, it looks the author checked against null in the earlier
parts of the code, but then neglected to do so in later parts, hence the
NullPointerException.
The later parts of the code seem to only trigger when a time-out
condition occurs (i.e. 45 seconds have elapsed).
Combined with the OP's description of "It'll stay loaded for about a
minute", I'm pretty confident this is the culprit.
As Chris has mentioned, the site that the OP linked to uses version 2.51
of the app, and 3.35b is available. I decompiled 3.35b just for kicks, and
it looks like in that version they've removed the "run_out()" method
completely.
The the OP, if you can convince the web administrator at
http://220.210.147.184/ to upgrade to 3.35b, that might fix your problems.
Otherwise, what you could *try* to do is download the 3.35b stand-alone
client, and use that to connect to the server at http://220.210.147.184/,
but that might not work: It's possible version 2.51 and 3.35b use a
completly different set of protocols.
- Oliver
Seri - 24 Mar 2006 21:18 GMT
I appreciate all the thought you put into your post and going to the
trouble of looking at the code for me! That answers my question
completely. ^_^ I'll try downloading the standalone progam, and if it
doesn't work, I'll just keep searching for a new paint chat that uses
the newer client.