你可以在服务器端定义一个无限循环来等待客户端的输入,同时对客户端的输入进行校验,当为空时就继续循环,而不要进行任何处理,客户端用flush()来控制输出达到服务器端的内容我编写过一个这样的model,如果感兴趣,可以留个信箱给我,我发给你一份例子祝好运
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
[email protected]
[email protected]
{
if((sock==null) || (reader==null))
throw new Exception("套接口无效,无法读取数据"); //System.out.println("read");
char[] cHeadbuf=new char[5]; //存储约定的包头长度数据
String rtn=null;
int iRecvlen = reader.read(cHeadbuf,0,5);
rtn = new String(cHeadbuf);
if(iRecvlen==5)
{
int iPkgLen= Integer.parseInt(rtn.substring(0,5).trim(),10); //转换成10进制的长度 iPkgLen-=5;
while(iPkgLen>0)
{
int temp_data=reader.read();
if(temp_data==-1) throw new Exception("套接口数据读取失败"); StringBuffer str_buff=new StringBuffer();
str_buff.append((char)temp_data);
String temp=new String(str_buff);
iPkgLen-=temp.getBytes().length;
rtn+=temp;
}
//接收数据完成
return rtn;
}
throw new Exception("接收数据异常");
}