谢谢天堂草大哥,我确实看过教材,但是think in java 和一本N厚N多教授编委的外国教材中的io和net的相关章节都没有提到流是线程阻塞的,讲io的时候都是从文件读取.讲net的时候都是一边发一个一边接一个,根本没有体现出这个特性.当初我选udp也是出于这个方面的考虑,不过我发现我机器上没有udp协议.我曾经考虑过用rmi包但是他不符合QQ的通讯特性.最后只好硬着头皮用tcp,think in java 中net一章中有个程序是一个无限的while循环里边是readline(),我还特地作了个实验在一个线程里开一个无限的循环(但是里边是i+=1;...)结果一跑起来差点死机,当时我就隐隐约约感觉到应该有一种机制能实现发送方和接受方的同步,但是我学编程时间太短了前几天才知道有线程阻塞这么一个说法,没有往这方面想.也怪我做事太毛躁可能稍微细心一点就能得到答案.天堂草大哥一席话让我茅塞顿开阿,真是万分感谢,不再有顾虑了.通讯就采用ObjectXXStream,程序马上就能出来(XX.readObject()也是线程阻塞的吧,别告诉他例外那样的话我就哭了).
还有一个问题,就是这个udp协议是怎么加上去的,网络属性中看不到阿,是不是包含在tcp中的,还是包含在用到udp协议的程序中的.
如果udp协议的问题解决了我还是要用udp,我原来设想的是土方法编码就是字节包前2位代表什么服务3,4位代表分几段等等,现在看来这么想太愚昧了.后来知道了xml,我想通过udp发送xml应该能做到吧.