发信人: lg.sz(Lg)
整理人: sungang(2003-10-07 16:09:51), 站内信件
|
【 在 zhcharles 的大作中提到:】
:【 在 huanghwh 的大作中提到:】
::【 在 zhcharles 的大作中提到:】
:::【 在 huanghwh 的大作中提到:】
::::【 在 zhcharles 的大作中提到:】
:::::【 在 huanghwh 的大作中提到:】
:
:......
你的java程序有问题的.
1. 资源的释放(例如socket)不应该放在try ... catch 里面;这样作,会导致出现exception的时候无法释放资源,最终可能导致程序出问题,如打开文件句柄太多.
2. 对tcp的流实现不理解,错误使用read调用.自己开个读取buffer,没错.但是并非每次读取都能读满整个buffer,需要看read的返回值,它表明了buffer里面实际读取的字节数."我在 WINXP 上使用 DataInputStream 的 read(byte[]),读回来的数据竟然有断层,而且还出现,在内容中间的一段数据,在最后也有一份拷贝。 " 这个问题就是因为你的程序这个错误造成的.
3.whois 服务器是返回 UTF-8 字节流吗?如果不是,那么new String(buff, "UTF-8")也是错误使用.
另外,你对linux的评价也不中肯. |
|